写点什么

Spring 框架 JDBC Template 使用教程

  • 2022 年 4 月 23 日
  • 本文字数:1690 字

    阅读完需:约 6 分钟

* 一般用于聚合函数的查询


[](()练习:




需求:


  1. 修改 1 号数据的 salary 为 10000

  2. 添加一条记录

  3. 删除刚才添加的记录

  4. 查询 id 为 1 的记录,将其封装为 Map 集合

  5. 查询所有记录,将其封装为 List

  6. 查询所有记录,将其封装为 Emp 对象的 List 集合

  7. 查询总记录数


实体类 Emp:


import java.util.Date;


public class Emp {


private Integer id;


private String ename;


private Integer job_id;


private Integer mgr;


private Date joindate;


private Double salary;


private Double bonus;


private Integer dept_id;


public Integer getId() {


return id;


}


public void setId(Integer id) {


this.id = id;


}


public String getEname() {


return ename;


}


public void setEname(String ename) {


this.ename = ename;


}


public Integer getJob_id() {


return job_id;


}


public void setJob_id(Integer job_id) {


this.job_id = job_id;


}


public Integer getMgr() {


return mgr;


}


public void setMgr(Integer mgr) {


this.mgr = mgr;


}


public Date getJoindate() {


return joindate;


}


public void setJoindate(Date joindate) {


this.joindate = joindate;


}


public Double getSalary() {


return salary;


}


public void setSalary(Double salary) {


this.salary = salary;


}


public Double getBonus() {


return bonus;


}


public void setBonus(Double bonus) {


this.bonu 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 s = bonus;


}


public Integer getDept_id() {


return dept_id;


}


public void setDept_id(Integer dept_id) {


this.dept_id = dept_id;


}


@Override


public String toString() {


return "Emp{" +


"id=" + id +


", ename='" + ename + ''' +


", job_id=" + job_id +


", mgr=" + mgr +


", joindate=" + joindate +


", salary=" + salary +


", bonus=" + bonus +


", dept_id=" + dept_id +


'}';


}


}


Druid 连接池的工具类


import com.alibaba.druid.pool.DruidDataSourceFactory;


import javax.sql.DataSource;


import java.io.IOException;


import java.sql.Connection;


import java.sql.ResultSet;


import java.sql.SQLException;


import java.sql.Statement;


import java.util.Properties;


/**


  • Druid 连接池的工具类


*/


public class JDBCUtils {


//1.定义成员变量 DataSource


private static DataSource ds ;


static{


try {


//1.加载配置文件


Properties pro = new Properties();


pro.load(JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties"));


//2.获取 DataSource


ds = DruidDataSourceFactory.createDataSource(pro);


} catch (IOException e) {


e.printStackTrace();


} catch (Exception e) {


e.printStackTrace();


}


}


/**


  • 获取连接


*/


public static Connection getConnection() throws SQLException {


return ds.getConnection();


}


/**


  • 释放资源


*/


public static void close(Statement stmt,Connection conn){


/* if(stmt != null){


try {


stmt.close();


} catch (SQLException e) {


e.printStackTrace();


}


}


if(conn != null){


try {


conn.close();//归还连接


} catch (SQLException e) {


e.printStackTrace();


}


}*/


close(null,stmt,conn);


}


public static void close(ResultSet rs , Statement stmt, Connection conn){


if(rs != null){


try {


rs.close();


} catch (SQLException e) {


e.printStackTrace();


}


}


if(stmt != null){


try {


stmt.close();


} catch (SQLException e) {


e.printStackTrace();


}


}


if(conn != null){


try {


conn.close();//归还连接


} catch (SQLException e) {


e.printStackTrace();


}


}


}


/**


  • 获取连接池方法


*/


public static DataSource getDataSource(){


return ds;


}


}


增删改查:


import cn.itcast.domain.Emp;


import cn.itcast.utils.JDBCUtils;


import org.junit.Test;


import org.springframework.jdbc.core.BeanPropertyRowMapper;


import org.springframework.jdbc.core.JdbcTemplate;


import org.springframework.jdbc.core.RowMapper;


import java.sql.Date;


import java.sql.ResultSet;


import java.sql.SQLException;


import java.util.List;


import java.util.Map;

用户头像

还未添加个人签名 2022.04.13 加入

还未添加个人简介

评论

发布
暂无评论
Spring框架JDBC Template使用教程_Java_爱好编程进阶_InfoQ写作社区