spring jdbcTemplate類的基本配置及常規(guī)用法
1, 引入對(duì)應(yīng)jar包 如下:

2, applicationContext.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- 配置數(shù)據(jù)源 --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <!--數(shù)據(jù)庫(kù)驅(qū)動(dòng)--> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <!--連接數(shù)據(jù)庫(kù)的url--> <property name= "url" value="jdbc:mysql://localhost/zhuangzi" /> <!--連接數(shù)據(jù)庫(kù)的用戶名--> <property name="username" value="root" /> <!--連接數(shù)據(jù)庫(kù)的密碼--> <property name="password" value="root" /> </bean> <!--配置JDBC模板--> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <!--默認(rèn)必須使用數(shù)據(jù)源--> <property name="dataSource" ref="dataSource"/> </bean> <!--使用context命名空間,通知spring掃描指定目錄,進(jìn)行注解的解析--> <!-- <context:component-scan base-package="com.ioc"/>--> </beans>
3, 基礎(chǔ)實(shí)體類Student
package com.ioc;
public class Student {
private int id;
private String names;
private String sex;
private String blood;
private String hobby;
private String intro;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNames() {
return names;
}
public void setNames(String names) {
this.names = names;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getBlood() {
return blood;
}
public void setBlood(String blood) {
this.blood = blood;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
public String getIntro() {
return intro;
}
public void setIntro(String intro) {
this.intro = intro;
}
}4. jdbcTemplate的常規(guī)用法:
public class JdbcTemplateTest {
@Test
public void test(){
// 定義Spring配置文件路徑
String xmlPath = "applicationContext.xml";
// 初始化Spring容器,加載配置文件,并對(duì)bean進(jìn)行實(shí)例化
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
xmlPath);
// 獲得personAction實(shí)例
JdbcTemplate jdbcTemplate = (JdbcTemplate) applicationContext
.getBean("jdbcTemplate");
//修改信息
String sql = "update student set names = ? where id = ?";
int a1 = jdbcTemplate.update(sql, "莊子",3);
System.out.println("修改成功");
//刪除信息
String sql1 = "delete from student where id = ?";
int a = jdbcTemplate.update(sql1, 7);
System.out.println("刪除成功");
//添加信息
String sql2 = "insert into student(names,sex,blood,hobby,intro,time)values(" +
"?,?,?,?,?,?)";
int a2 = jdbcTemplate.update(sql2,"莊子同學(xué)","男","A","聊天","聊天不錯(cuò)",123456789);
System.out.println("添加" + a2 + "條記錄");
//查詢一個(gè)值
String sql3 = "select names from student where id = ?";
String s = jdbcTemplate.queryForObject(sql3, String.class, 3);
System.out.println(s);
//查詢一條信息
String sql4= "select * from student where id = ?";
Map<String,Object> map = jdbcTemplate.queryForMap(sql4, 3);
System.out.println(map.get("names"));
//查詢多條信息
String sql5= "select * from student";
List<Map<String,Object>> maps = jdbcTemplate.queryForList(sql5);
for(Map m : maps){
System.out.println("姓名:" + m.get("names") + "性別" + m.get("sex"));
}
//查詢一條信息并映射到指定的類的實(shí)例中
//RowMapper:行的映射
//Spring 提供了一個(gè)便利的RowMapper實(shí)現(xiàn)-----BeanPropertyRowMapper
//它可自動(dòng)將一行數(shù)據(jù)映射到指定類的實(shí)例中 它首先將這個(gè)類實(shí)例化,然后通過(guò)名稱匹配的方式,映射到屬性中去。
String sql6 = "select names,sex,blood from student where id = ?";
RowMapper<Student> rowMapper = new BeanPropertyRowMapper<Student>(Student.class);
Student student = jdbcTemplate.queryForObject(sql6, rowMapper,5);//最后一個(gè)參數(shù)為id值
System.out.println(student.getNames());
/*
*查詢實(shí)體類的集合
*/
String sql7 = "select names,sex,blood from student where id > ?";
RowMapper<Student> rowMappers = new BeanPropertyRowMapper<Student>(Student.class);
List<Student> students = jdbcTemplate.query(sql7, rowMappers,5);//最后一個(gè)參數(shù)為id值
for(Student stu : students){
System.out.println(stu.getNames());
}
}
}5, 注解使用方法:
@Resource private JdbcTemplate jdbcTemplate;
