spring jdbc

Spring JDBC
  1. spring jdbc是spring对jdbc的封装,使用springjdbc访问数据库,比如不用考虑获取连接和关闭连接,同时springjdbc对DAO类中数据库出现的异常进行了封装成DataAccessException(继承自RuntimeException),可以交由表示层或者拦截器处理。
  2. 编程步骤
 #1 导包
Spring-webmvc  spring-jdbc  dbcp  mysql驱动 junit
 #2 添加spring配置文件
   #3 实体类(表的数据)
   #4 添加properties文件,在spring配置文件中写util读取properties   属性值,配置BasicDataSource类,注入参数,配置 jdbcTemplate
JdbcTemplate对象提供了很多方法,不用考虑获取关闭连接,不用考虑异常的处理,它会把异常统一转换成RuntimeException异常抛出。
<!-- 从db.properties中读取属性值 -->
    <util:properties id="properties" location="classpath:db.properties"/>
    <!--注入BadicDataSource类  -->
    <bean id="bds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="#{properties.driver}"/>
    <property name="url" value="#{properties.url}"/>
    <property name="username" value="#{properties.user}"/>
    <property name="password" value="#{properties.pwd}"/>
    </bean>
    <!-- 配置jdbcTemplate,注入bds -->
    <bean id="jt" class="org.springframework.jdbc.core.JdbcTemplate">
    <property name="dataSource" ref="bds"/>
   </bean>
#5 DAO类(数据库交互并封装成实体类),启动spring容器,在dao实现类中依赖注入jdbcTemplete
JdbcTemplate的使用方法:
所有
public List<Emp> findAll(){
        String sql = "select * from emp";
        return  jTemplate.query(sql,new RowMapper<Emp>(){
            public Emp mapRow(ResultSet arg0, int arg1) throws SQLException {
                // TODO Auto-generated method stub
                Emp emp = new Emp();
                emp.setEname(arg0.getString("ename"));
                emp.setId(arg0.getInt("id"));
                emp.setAge(arg0.getInt("age"));
                return emp;
            }
            
        });
        
    }
    //内部类,RowMapper,负责把记录转换成实体对象,比如这里把员工的一条记录转换成emp对象
    
//第一个参数是结果集,第二个参数是被遍历的记录的下表,从0开始
execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;
update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;
query方法及queryForXXX方法:用于执行查询相关语句;

spring jdbc

上一篇:PHP中的ArrayAccess讲解


下一篇:mysql timeStamp 添加0000-00-00 00:00:00默认报错