JdbcTemplate CRUD

 

执行insert update delete操作

 

 

 

 执行select操作

1.User实体类及get/set方法

测试类

 1 @RunWith(SpringJUnit4ClassRunner.class)
 2 @ContextConfiguration(locations = "classpath:applicationContext.xml")
 3 public class jdbcTemplateTest1 {
 4     @Autowired
 5     private JdbcTemplate jdbcTemplate;
 6     // 测试修改
 7     @Test
 8     public void test1() {
 9         jdbcTemplate.update("update t_user set name=? where id=?", "tom", 1);
10     }
11     // 测试添加
12     @Test
13     public void test2() {
14         jdbcTemplate.update("insert into t_user values(null,?,?,?)", "萌萌", 20,
15                 "男");
16     }
17 
18     // 测试删除
19     @Test
20     public void test3() {
21         jdbcTemplate.update("delete from t_user where id=?", 4);
22     }
23 
24     // 测试修改简单的数据类型
25     @Test
26     public void test4() {
27         String query = jdbcTemplate.queryForObject(
28                 "select name from t_user where id=?", String.class, 1);
29         System.out.println(query);
30     }
31 
32     // 测试修改简单的数据类型
33     @Test
34     public void test5() {
35         Integer integer = jdbcTemplate.queryForObject(
36                 "select count(*) from t_user ", Integer.class);
37         System.out.println(integer);
38     }
39     // 测试返回一个domain
40     @Test
41     public void test6() {
42         User user = jdbcTemplate.queryForObject("select * from t_user where id = ?",new RowMapper<User>() {
43                     @Override
44                     public User mapRow(ResultSet rs, int num)throws SQLException {
45                         //结果节封装到User对象
46                         User user = new User();
47                         user.setId(rs.getInt("id"));
48                         user.setAge(rs.getInt(3));
49                         user.setName(rs.getString(2));
50                         user.setSex(rs.getString("sex"));
51                         return user;
52                     }
53                 }, 1);
54         System.out.println(user);
55     }
56     // 测试返回一个list<User>---使用query
57         @Test
58         public void test7() {
59             List<User> user = jdbcTemplate.query("select * from t_user ",new RowMapper<User>() {
60                         @Override
61                         public User mapRow(ResultSet rs, int num)throws SQLException {
62                             //rs表示获取到的结果集,num表示结果集中数据的第几列
63                             //结果节封装到User对象
64                             User user = new User();
65                             user.setId(rs.getInt(1));
66                             user.setAge(rs.getInt(3));
67                             user.setName(rs.getString(2));
68                             user.setSex(rs.getString("sex"));
69                             return user;
70                         }
71                     });
72             System.out.println(user);
73         }
74         //使用RowMapper的实现类完成结果集bean封装--实体必须提供一个无参构造,类中的bean属性名称与表中的列要对应
75         @Test
76         public void test8(){
77             List<User> user = jdbcTemplate.query("select*from t_user", new BeanPropertyRowMapper<User>(User.class));
78             System.out.println(user);
79         }
80 }

3.配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
     <!-- 引入外部的properties文件 -->
     <context:property-placeholder location="classpath:db.properties"/>
     <!-- Spring内置的连接池  -->
    <!-- <bean id="driverManagerDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql:///springtest" />
        <property name="username" value="root"/>
        <property name="password" value="123"></property>
    </bean>  -->
    <!-- 创建c3p0连接池 -->
    <bean id="c3p0DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${jdbc.driverClass}" />
        <property name="jdbcUrl" value="${jdbc.url}" />
        <property name="user" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
    </bean>
    <!-- ref声明c3p0的数据源,交由Spring管理 -->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="c3p0DataSource"></property>
    </bean> 
</beans>

 db.properties

jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///springtest
jdbc.username=root
jdbc.password=

 

posted @ 2017-11-28 18:28  无~所~谓  阅读(153)  评论(0编辑  收藏  举报