日韩精品欧美激情国产一区_中文无码精品一区二区三区在线_岛国毛片AV在线无码不卡_亞洲歐美日韓精品在線_使劲操好爽好粗视频在线播放_日韩一区欧美二区_八戒八戒网影院在线观看神马_亚洲怡红院在线色网_av无码不卡亚洲电影_国产麻豆媒体MDX

spring jdbcTemplate類的基本配置及常規(guī)用法

時(shí)間:2020-09-24 23:25:37 類型:JAVA
字號(hào):    

spring jdbcTemplate類的基本配置及常規(guī)用法

1, 引入對(duì)應(yīng)jar包 如下:

    111.jpg

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;


<