spring JdbcTemplate 快速入门

概述

Spring JDBC Template 是 Spring Framework 提供的一个简化 JDBC 操作的模板类。它封装了一些常见的 JDBC 操作,使得开发者在使用 JDBC 时能够更加便捷、简洁,同时也提供了异常处理和资源管理等功能。

导入pom 使用C3P0作为数据源


  4.0.0org.example
  spring-jdbc-demo1
  1.0-SNAPSHOT
  jarspring-jdbc-demo1
  http://maven.apache.org
    UTF-8
  
​
    
      org.springframework
      spring-context
      6.0.13
    
    
      org.springframework
      spring-beans
      6.0.13
    
    
      org.springframework
      spring-core
      6.0.13
    
    
      junit
      junit
      3.8.1
      test
    
    
    
      c3p0
      c3p0
      0.9.1.2
    
    
    
      mysql
      mysql-connector-java
      8.0.28
    
    
    
      org.springframework
      spring-jdbc
      5.3.5
    
​
    
    
      org.springframework
      spring-tx
      5.3.10
    
    
      junit
      junit
      4.13.2
      test
    
  

普通纯java代码 查询操作

 ComboPooledDataSource dataSource =new ComboPooledDataSource();
        dataSource.setDriverClass("com.mysql.jdbc.Driver");
        dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/db2");
        dataSource.setUser("root");
        dataSource.setPassword("11111");
        JdbcTemplate jdbcTemplate =new JdbcTemplate();
        jdbcTemplate.setDataSource(dataSource);
        int row = jdbcTemplate.update(
            "INSERT INTO user values (?,?,?)", "110", "xl11x", 105);
        System.out.println(row);

Xml配置 springJDBCTemplate(简化纯java代码)


   
    
        
        
        
        
     
    
        
    
``

Properties文件配置

jdbc.Driver =com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/db2
jdbc.user = root
jdbc.password = 111111

测试 插入

ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        JdbcTemplate jdbcTemplate =  context.getBean(JdbcTemplate.class);
        int row =jdbcTemplate.update("INSERT INTO user values (?,?,?)", "1110", "llx", 1105);
        System.out.println(row);

测试 查询(重要)

ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        JdbcTemplate jdbcTemplate =  context.getBean(JdbcTemplate.class);
        List query = jdbcTemplate.query("select * from user", new BeanPropertyRowMapper(User.class));
        System.out.println(query);

new BeanPropertyRowMapper(User.class)

这个API里面的泛型填的是你要查询的封装而成的实体类 参数是实体类的字节码文件

返回的是一个list集合

实体类

package domain;
​
public class User {
    private String sno;
    private String name;
    private int point;
​
    public User(String sno, String name, int point) {
        this.sno = sno;
        this.name = name;
        this.point = point;
    }
​
    public User() {
    }
​
    public String getSno() {
        return sno;
    }
​
    public void setSno(String sno) {
        this.sno = sno;
    }
​
    public String getName() {
        return name;
    }
​
    public void setName(String name) {
        this.name = name;
    }
​
    public int getPoint() {
        return point;
    }
​
    public void setPoint(int point) {
        this.point = point;
    }
​
    @Override
    public String toString() {
        return "User{" +
                "sno='" + sno + '\'' +
                ", name='" + name + '\'' +
                ", point=" + point +
                '}';
    }
}
​

你可能感兴趣的:(spring,spring,java,后端)