spring_jdbctemplate

来源:互联网 发布:mysql media1.cab 编辑:程序博客网 时间:2024/06/05 19:44

02-spring整合jdbc-jdbc模板对象_

@Test

public void fun1()throws Exception{

//0 准备连接池

ComboPooledDataSource dataSource = new ComboPooledDataSource();

dataSource.setDriverClass("com.mysql.jdbc.Driver");

dataSource.setJdbcUrl("jdbc:mysql:///hibernate_32");

dataSource.setUser("root");

dataSource.setPassword("root");

//1 创建JDBC模板对象

JdbcTemplate jt = new JdbcTemplate();

jt.setDataSource(dataSource);

//2 书写sql,并执行

String sql = "insert into t_user values(null,'rose') ";

jt.update(sql);

}

03-spring整合jdbc-jdbc模板api详解_

package cn.itcast.a_jdbctemplate;

 

import java.util.List;

 

import cn.itcast.bean.User;

 

public interface UserDao {

 

//

void save(User u);

//

void delete(Integer id);

//

void update(User u);

//

User getById(Integer id);

//

int getTotalCount();

//

List<User> getAll();

}

 

package cn.itcast.a_jdbctemplate;

 

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.List;

 

import org.springframework.jdbc.core.JdbcTemplate;

import org.springframework.jdbc.core.RowMapper;

import org.springframework.jdbc.core.support.JdbcDaoSupport;

 

import cn.itcast.bean.User;

//使用JDBC模板实现增删改查

public class UserDaoImpl extends JdbcDaoSupport implements UserDao {

@Override

public void save(User u) {

String sql = "insert into t_user values(null,?) ";

super.getJdbcTemplate().update(sql, u.getName());

}

@Override

public void delete(Integer id) {

String sql = "delete from t_user where id = ? ";

super.getJdbcTemplate().update(sql,id);

}

@Override

public void update(User u) {

String sql = "update  t_user set name = ? where id=? ";

super.getJdbcTemplate().update(sql, u.getName(),u.getId());

}

@Override

public User getById(Integer id) {

String sql = "select * from t_user where id = ? ";

return super.getJdbcTemplate().queryForObject(sql,new RowMapper<User>(){

@Override

public User mapRow(ResultSet rs, int arg1) throws SQLException {

User u = new User();

u.setId(rs.getInt("id"));

u.setName(rs.getString("name"));

return u;

}}, id);

}

@Override

public int getTotalCount() {

String sql = "select count(*) from t_user  ";

Integer count = super.getJdbcTemplate().queryForObject(sql, Integer.class);

return count;

}

 

@Override

public List<User> getAll() {

String sql = "select * from t_user  ";

List<User> list = super.getJdbcTemplate().query(sql, new RowMapper<User>(){

@Override

public User mapRow(ResultSet rs, int arg1) throws SQLException {

User u = new User();

u.setId(rs.getInt("id"));

u.setName(rs.getString("name"));

return u;

}});

return list;

}

 

 

}

 

04-spring整合jdbc-连接池&JDBC模板&Dao配置到spring容器_

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

xmlns="http://www.springframework.org/schema/beans" 

xmlns:context="http://www.springframework.org/schema/context" 

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd ">

 

<!-- 指定spring读取db.properties配置 -->

<context:property-placeholder location="classpath:db.properties"  />

 

<!-- 1.将连接池放入spring容器 -->

<bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" >

<property name="jdbcUrl" value="${jdbc.jdbcUrl}" ></property>

<property name="driverClass" value="${jdbc.driverClass}" ></property>

<property name="user" value="${jdbc.user}" ></property>

<property name="password" value="${jdbc.password}" ></property>

</bean>

 

 

<!-- 2.将JDBCTemplate放入spring容器 -->

<bean name="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" >

<property name="dataSource" ref="dataSource" ></property>

</bean>

 

<!-- 3.将UserDao放入spring容器 -->

<bean name="userDao" class="cn.itcast.a_jdbctemplate.UserDaoImpl" >

<!-- <property name="jt"ref="jdbcTemplate" ></property> -->

<property name="dataSource" ref="dataSource" ></property>

</bean>

 

</beans>

05-spring整合jdbc扩展-JDBCDaoSupport_

public class UserDaoImplextends JdbcDaoSupport implements UserDao

倘若继承了JdbcDaoSupport类,JdbcDaoSupport里面有

private JdbcTemplatejdbcTemplate;

字段,所以当我们继承了此类后,注入关系会改变

UserDao UserDaoImpl----依赖 jdbcTemplate-----dataSource

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

xmlns="http://www.springframework.org/schema/beans" 

xmlns:context="http://www.springframework.org/schema/context" 

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd ">

 

<!-- 指定spring读取db.properties配置 -->

<context:property-placeholder location="classpath:db.properties"  />

 

<!-- 1.将连接池放入spring容器 -->

<bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" >

<property name="jdbcUrl" value="${jdbc.jdbcUrl}" ></property>

<property name="driverClass" value="${jdbc.driverClass}" ></property>

<property name="user" value="${jdbc.user}" ></property>

<property name="password" value="${jdbc.password}" ></property>

</bean>

 

 

<!-- 2.将JDBCTemplate放入spring容器 -->

<bean name="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" >

<property name="dataSource" ref="dataSource" ></property>

</bean>

 

<!-- 3.将UserDao放入spring容器 -->

<bean name="userDao" class="cn.itcast.a_jdbctemplate.UserDaoImpl" >

<!-- <property name="jt"ref="jdbcTemplate" ></property> -->

<property name="dataSource" ref="dataSource" ></property>

</bean>

 

</beans>

 

 

06-spring整合jdbc-读取properties配置_

db.properties

jdbc.jdbcUrl=jdbc:mysql:///hibernate_32

jdbc.driverClass=com.mysql.jdbc.Driver

jdbc.user=root

jdbc.password=root

<!-- 1.将连接池放入spring容器 -->

<bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" >

<property name="jdbcUrl" value="${jdbc.jdbcUrl}" ></property>

<property name="driverClass" value="${jdbc.driverClass}" ></property>

<property name="user" value="${jdbc.user}" ></property>

<property name="password" value="${jdbc.password}" ></property>

</bean>

测试类

package cn.itcast.a_jdbctemplate;

 

import java.beans.PropertyVetoException;

 

import javax.annotation.Resource;

 

import org.junit.Test;

import org.junit.runner.RunWith;

import org.springframework.jdbc.core.JdbcTemplate;

import org.springframework.test.context.ContextConfiguration;

import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

 

import com.mchange.v2.c3p0.ComboPooledDataSource;

 

import cn.itcast.bean.User;

 

//演示JDBC模板

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration("classpath:applicationContext.xml")

public class Demo {

@Resource(name="userDao")

private UserDao ud;

@Test

public void fun1()throws Exception{

//0 准备连接池

ComboPooledDataSource dataSource = new ComboPooledDataSource();

dataSource.setDriverClass("com.mysql.jdbc.Driver");

dataSource.setJdbcUrl("jdbc:mysql:///hibernate_32");

dataSource.setUser("root");

dataSource.setPassword("root");

//1 创建JDBC模板对象

JdbcTemplate jt = new JdbcTemplate();

jt.setDataSource(dataSource);

//2 书写sql,并执行

String sql = "insert into t_user values(null,'rose') ";

jt.update(sql);

}

@Test

public void fun2()throws Exception{

User u = new User();

u.setName("tom");

ud.save(u);

}

@Test

public void fun3()throws Exception{

User u = new User();

u.setId(2);

u.setName("jack");

ud.update(u);

}

@Test

public void fun4()throws Exception{

ud.delete(2);

}

@Test

public void fun5()throws Exception{

System.out.println(ud.getTotalCount());

}

@Test

public void fun6()throws Exception{

System.out.println(ud.getById(1));

}

@Test

public void fun7()throws Exception{

System.out.println(ud.getAll());

}

}

原创粉丝点击