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;