首页 > 数据库技术 > 详细

Spring--JDBC

时间:2017-01-14 12:45:23      阅读:263      评论:0      收藏:0      [点我收藏+]

Spring jdbc对基本的数据访问提供了很多方便,我们再也不用去管什么异常处理,资源打开,关闭之类的操作,只需要关心核心的处理即可。

spring提供的jdbc工具:

JdbcTemplate:这是最基本的JDBC实现方式

NamedParameter Jdbc Template:是对JdbcTemplate的一个再次封装,可以提供命名参数

SimpleJdbcInsert and SimpleJdbcCall:

RDBMS:

 

首先建表

技术分享

 


1、使用JdbcTemplate的实现实例

 1 package com.fuwh.model;
 2 //model类
 3 public class Student {
 4 
 5     private int id;
 6     private String name;
 7     private int age;
 8     
 9 
10     public Student(int id, String name, int age) {
11         super();
12         this.id = id;
13         this.name = name;
14         this.age = age;
15     }
16     public Student(String name, int age) {
17         super();
18         this.name = name;
19         this.age = age;
20     }
21     public int getId() {
22         return id;
23     }
24     public void setId(int id) {
25         this.id = id;
26     }
27     public String getName() {
28         return name;
29     }
30     public void setName(String name) {
31         this.name = name;
32     }
33     public int getAge() {
34         return age;
35     }
36     public void setAge(int age) {
37         this.age = age;
38     }
39     
40     
41 }

 

 1 package com.fuwh.service;
 2 
 3 import java.util.List;
 4 import java.util.Map;
 5 
 6 import com.fuwh.model.Student;
 7 //dao:crud接口
 8 public interface StuDao {
 9 
10     public abstract int addStudent(Student stu);
11     
12     public abstract int delStudent(int id);
13     
14     public abstract int updateStudent(Student stu);
15     
16     public abstract List<Map<String, Object>> queryStudent();
17 }
 1 package com.fuwh.service.impl;
 2 
 3 import java.util.List;
 4 import java.util.Map;
 5 
 6 import org.springframework.jdbc.core.JdbcTemplate;
 7 
 8 import com.fuwh.model.Student;
 9 import com.fuwh.service.StuDao;
10 //crud具体实现类
11 public class StuDaoImpl implements StuDao {
12 
13     //注入JdbcTemplate
14     private JdbcTemplate jdbcTemplate;
15     
16     public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
17         this.jdbcTemplate = jdbcTemplate;
18     }
19 
20     @Override
21     public int addStudent(Student stu) {
22         // TODO Auto-generated method stub
23         String sql="insert into t_student values(null,?,?)";
24         Object args[]=new Object[]{stu.getName(),stu.getAge()};
25         return jdbcTemplate.update(sql, args);
26     }
27 
28     @Override
29     public int delStudent(int id) {
30         // TODO Auto-generated method stub
31         String sql="delete from t_student where id=?";
32         return jdbcTemplate.update(sql, id);
33     }
34 
35     @Override
36     public int updateStudent(Student stu) {
37         // TODO Auto-generated method stub
38         String sql="update t_student set name=?,age=? where id=?";
39         Object args[]=new Object[]{stu.getName(),stu.getAge(),stu.getId()};
40         return jdbcTemplate.update(sql, args);
41     }
42 
43     @Override
44     public List<Map<String,Object>> queryStudent() {
45         // TODO Auto-generated method stub
46         String sql="select * from t_student";
47         return jdbcTemplate.queryForList(sql) ;
48     }
49 
50 }
 1 package com.fuwh.test;
 2 
 3 
 4 import java.util.List;
 5 import java.util.Map;
 6 
 7 import org.junit.Before;
 8 import org.springframework.context.ApplicationContext;
 9 import org.springframework.context.support.ClassPathXmlApplicationContext;
10 
11 import com.fuwh.model.Student;
12 import com.fuwh.service.StuDao;
13 
14 //Junit测试类
15 public class Test {
16 
17     private ApplicationContext ac;    
18 
19     @Before
20     public void setUp() throws Exception {
21         ac=new ClassPathXmlApplicationContext("beans.xml");
22     }
23 
24     @org.junit.Test
25     public void testInsert() {
26         StuDao sd=(StuDao)ac.getBean("stuDao");
27         int retVal=sd.addStudent(new Student("fuwh",27));
28         if(retVal==1){
29             System.out.println("添加成功");
30         }
31     }
32     
33     @org.junit.Test
34     public void testDelete(){
35         StuDao sd=(StuDao)ac.getBean("stuDao");
36         int retVal=sd.delStudent(2);
37         if(retVal==1){
38             System.out.println("删除成功");
39         }
40     }
41     
42     @org.junit.Test
43     public void testUpdate(){
44         StuDao sd=(StuDao)ac.getBean("stuDao");
45         int retVal=sd.updateStudent(new Student(3,"fengzi",18));
46         if(retVal==1){
47             System.out.println("修改成功");
48         }
49     }
50     
51     @org.junit.Test
52     public void testQuery(){
53         StuDao sd=(StuDao)ac.getBean("stuDao");
54         List<Map<String, Object>> stuList=sd.queryStudent();
55         for(Map<String,Object> stuMap:stuList){
56             for(Map.Entry<String, Object> me:stuMap.entrySet()){
57                 System.out.println(me.getKey()+"-->"+me.getValue());
58             }
59         }
60     }
61 }
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 
 3 <beans xmlns="http://www.springframework.org/schema/beans"
 4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5     xmlns:aop="http://www.springframework.org/schema/aop"
 6     xmlns:context="http://www.springframework.org/schema/context"
 7     xsi:schemaLocation="http://www.springframework.org/schema/beans
 8         http://www.springframework.org/schema/beans/spring-beans.xsd
 9         http://www.springframework.org/schema/aop
10         http://www.springframework.org/schema/aop/spring-aop.xsd
11         http://www.springframework.org/schema/context
12         http://www.springframework.org/schema/context/spring-context.xsd">
13 
14     <!-- 配置JdbcTemplate 
15          需要注意的是,必须要为JdbcTemplate注入一个DataSource
16      -->
17     <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
18         <property name="dataSource" ref="dataSource"></property>
19     </bean>
20     <bean id="stuDao" class="com.fuwh.service.impl.StuDaoImpl">
21         <property name="jdbcTemplate" ref="jdbcTemplate"></property>
22     </bean>
23     <!-- 配置DataSource
24          这里使用的是apache的dbcp连接池
25          需要引入apache的dbcp连接池jarbao
26          commons-dbcp2-2.1.1.jar 和 commons-pool2-2.4.2.jar
27      -->    
28     <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
29         <property name="driverClassName" value="${jdbc.driverClassName}"/>
30         <property name="url" value="${jdbc.url}"/>
31         <property name="username" value="${jdbc.username}"/>
32         <property name="password" value="${jdbc.password}"/>
33     </bean>
34     
35     <context:property-placeholder location="jdbc.properties"/>
36 </beans>
#jdbc连接配置属性文件
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/db_spring
jdbc.username=root
jdbc.password=mysqladmin

 

Spring--JDBC

原文:http://www.cnblogs.com/zerotomax/p/6284144.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!