spring是一个容器
spring有个jar包提供了一个叫做JDBCTemplate模板,所以它能对数据库进行操作。spring还提供了很多模板,针对hibernate,MyBatis模板。JDBCTemplate跟Dbutils中的queryRunner极度相似。
整合JDBC(下面手动创建对象的方式)
一 导包
c3p0,spring-jdbc,spring-tx三个jar包
二 使用一个JdbcTemplate模板对数据库进行操作
给它连接的方式有两种(1、Connection,2、dataSource)
@Test public void fun() throws PropertyVetoException { ComboPooledDataSource dataSource = new ComboPooledDataSource(); dataSource.setDriverClass("com.mysql.jdbc.Driver"); dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/spring1"); dataSource.setUser("root"); dataSource.setPassword("1234"); JdbcTemplate jdbcTemplate = new JdbcTemplate(); jdbcTemplate.setDataSource(dataSource); String sql="INSERT INTO t_user(uname,ubalance) VALUE('莫邪',1222)"; jdbcTemplate.update(sql); //jdbcTemplate.query(); } |
Spring管理对象的方式
准备UserDao接口,UserDaoImpl实现类,配置applicationContext.xml
使用spring管理对象开发,一定要搞清楚对象之间的关系,然后将对应的bean类配置到配置文件中,并将属性写好
<bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="com.mysql.jdbc.Driver"></property> <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/spring1"></property> <property name="user" value="root"></property> <property name="password" value="1234"></property> </bean>
<bean name="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="dataSource"></property> </bean> <bean name="userDao" class="cn.hd.soringJDBC.Impl.UserDaoImpl"> <property name="jdbcTemplate" ref="jdbcTemplate"></property> </bean>
|
SpringJDCApi
实现增删改调用JdbcTemplate update方法,如果有参数,直接按照顺序写在方法后面即可
@Test public void fun(){ User user = new User(); user.setUname("张三"); user.setUbalabce(1000); int add=userDao.add(user); System.out.println(add); } |
@Test public void fun1(){ User user = new User(); int delete=userDao.delete(4); System.out.println(delete);
}
|
实现查询,调用jdbcTemplate query()方法,参数同上。结果集的处理,要传一个RowMapper匿名内部类
@Test public void fun2(){ List<User>all=userDao.getAll(); System.out.println(all); } |
spring提供了一个父类JdbcDaoSupport,这个父类提供了JdbcTemplate模板,并且在配置bean时,依赖关系改变,dao类直接依赖于dataSource
spring读取配置文件
db.properties手写配置文件要注意,键名前要加前缀,避免和关键字重复,读取配置文件,在applicationContext.xml中添加一条配置
如何读取配置文件
<context:property-placeholder location="classpath:cn/hd/soringJDBC/db.properties"></context:property-placeholder>
<bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="${jdbc.driverClass}"></property> <property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property> <property name="user" value="${jdbc.password}"></property> <property name="password" value="${jdbc.user}"></property> </bean> |
Location是配置文件的地址,获取配置文件中的信息