当前位置: 首页 > news >正文

江西网站开发公司广告设计培训中心

江西网站开发公司,广告设计培训中心,仿淘宝网站制作,医疗网站几个人做竞价Spring提供的DAO(数据访问对象)支持主要的目的是便于以标准的方式使用不同的数据访问技术#xff0c; 如JDBC#xff0c;Hibernate或者JDO等。它不仅可以让你方便地在这些持久化技术间切换#xff0c; 而且让你在编码的时候不用考虑处理各种技术中特定的异常。为了便于以一种…Spring提供的DAO(数据访问对象)支持主要的目的是便于以标准的方式使用不同的数据访问技术 如JDBCHibernate或者JDO等。它不仅可以让你方便地在这些持久化技术间切换 而且让你在编码的时候不用考虑处理各种技术中特定的异常。为了便于以一种一致的方式使用各种数据访问技术如JDBC、JDO和Hibernate Spring提供了一套抽象DAO类供你扩展。这些抽象类提供了一些方法通过它们你可以 获得与你当前使用的数据访问技术相关的数据源和其他配置信息。Dao支持类JdbcDaoSupport - JDBC数据访问对象的基类。 需要一个DataSource同时为子类提供 JdbcTemplate。HibernateDaoSupport - Hibernate数据访问对象的基类。 需要一个SessionFactory同时为子类提供 HibernateTemplate。也可以选择直接通过 提供一个HibernateTemplate来初始化 这样就可以重用后者的设置例如SessionFactory flush模式异常翻译器exception translator等等。JdoDaoSupport - JDO数据访问对象的基类。 需要设置一个PersistenceManagerFactory 同时为子类提供JdoTemplate。JpaDaoSupport - JPA数据访问对象的基类。 需要一个EntityManagerFactory同时 为子类提供JpaTemplate。本节主要讨论Sping对JdbcDaoSupport的支持。下面是个例子drop table if exists user;  /**/  /* Table: user                                                  */  /**/  create table user  (     id                   bigint AUTO_INCREMENT not null,     name                 varchar(24),     age                  int,     primary key (id)  );public class User {      private Integer id;      private String name;      private Integer age;      public Integer getId() {          return id;      }      public void setId(Integer id) {          this.id id;      }      public String getName() {          return name;      }      public void setName(String name) {          this.name name;      }      public Integer getAge() {          return age;      }      public void setAge(Integer age) {          this.age age;      }  }/**  * Created by IntelliJ IDEA.br  * bUser/b: leizhiminbr  * bDate/b: 2008-4-22 15:34:36br  * bNote/b: DAO接口  */  public interface IUserDAO {      public void insert(User user);      public User find(Integer id);  }import javax.sql.DataSource;  import java.sql.Connection;  import java.sql.SQLException;  /**  * Created by IntelliJ IDEA.br  * bUser/b: leizhiminbr  * bDate/b: 2008-4-22 13:53:56br  * bNote/b: 基类DAO提供了数据源注入  */  public class BaseDAO {      private DataSource dataSource;      public DataSource getDataSource() {          return dataSource;      }      public void setDataSource(DataSource dataSource) {          this.dataSource dataSource;      }      public Connection getConnection() {          Connection conn  null;          try {              conn dataSource.getConnection();          } catch (SQLException e) {              e.printStackTrace();          }          return conn;      }  }/**  * Created by IntelliJ IDEA.br  * bUser/b: leizhiminbr  * bDate/b: 2008-4-22 15:36:04br  * bNote/b: DAO实现  */  public class UserDAO extends BaseDAO implements IUserDAO {      public JdbcTemplate getJdbcTemplate(){          return new JdbcTemplate(getDataSource());      }      public void insert(User user) {          String name user.getName();          int age user.getAge().intValue();  //        jdbcTemplate.update(INSERT INTO user (name,age)   //                 VALUES( name , age ));          String sql  insert into user(name,age) values(?,?);          getJdbcTemplate().update(sql,new Object[]{name,age});      }      public User find(Integer id) {          List rows getJdbcTemplate().queryForList(                  SELECT * FROM user WHERE id  id.intValue());          Iterator it rows.iterator();          if (it.hasNext()) {              Map userMap (Map) it.next();              Integer i  new Integer(userMap.get(id).toString());              String name userMap.get(name).toString();              Integer age  new Integer(userMap.get(age).toString());              User user  new User();              user.setId(i);              user.setName(name);              user.setAge(age);              return user;          }          return null;      }  }?xml version1.0 encodingUTF-8?  !DOCTYPE beans PUBLIC -//SPRING/DTD BEAN/EN          http://www.springframework.org/dtd/spring-beans.dtd  beans      bean iddataSource            classorg.apache.commons.dbcp.BasicDataSource singletontrue          property namedriverClassName              valuecom.mysql.jdbc.Driver/value          /property          property nameurl              valuejdbc:mysql://localhost:3306/springdb/value          /property          property nameusername              valueroot/value          /property          property namepassword              valueleizhimin/value          /property      /bean      bean idbaseDAO classcom.lavasoft.springnote.ch05_jdbc03_temp.BaseDAO abstracttrue          property namedataSource              ref beandataSource/          /property      /bean      bean iduserDAO            classcom.lavasoft.springnote.ch05_jdbc03_temp.UserDAO parentbaseDAO      /bean  /beansimport org.springframework.context.ApplicationContext;  import org.springframework.context.support.FileSystemXmlApplicationContext;  /**  * Created by IntelliJ IDEA.br  * bUser/b: leizhiminbr  * bDate/b: 2008-4-22 15:59:18br  * bNote/b: 测试类客户端  */  public class SpringDAODemo {      public static void main(String[] args) {          ApplicationContext context  new FileSystemXmlApplicationContext(D:\\_spring\\src\\com\\lavasoft\\springnote\\ch05_jdbc03_temp\\bean-jdbc-temp.xml);          User user  new User();          user.setName(hahhahah);          user.setAge(new Integer(22));          IUserDAO userDAO (IUserDAO) context.getBean(userDAO);          userDAO.insert(user);          user userDAO.find(new Integer(1));          System.out.println(name:   user.getName());      }  }运行结果log4j:WARN No appenders could be found for logger (org.springframework.core.CollectionFactory).  log4j:WARN Please initialize the log4j system properly.  name: jdbctemplate  Process finished with exit code 0
http://www.sadfv.cn/news/2217/

相关文章: