博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring JDBC入门
阅读量:2440 次
发布时间:2019-05-10

本文共 3826 字,大约阅读时间需要 12 分钟。

Spring JDBC入门

Spring JDBC模块是Spring框架的基础模块之一

在Spring JDBC模块中,所有的类可以被分到四个单独的包:

1)core即核心包,它包含了JDBC的核心功能。此包内有很多重要的类,包括:JdbcTemplate类、SimpleJdbcInsert类,SimpleJdbcCall类,以及NamedParameterJdbcTemplate类。

2)datasource即数据源包,访问数据源的实用工具类。它有多种数据源的实现,可以在JavaEE容器外部测试JDBC代码。

3)object即对象包,以面向对象的方式访问数据库。它允许执行查询并返回结果作为业务对象。它可以在数据表的列和业务对象的属性之间映射查询结果。

4)support即支持包,是core包和object包的支持类。例如提供了异常转换功能的SQLException类。

简单增删改查:

配置文件:

实体类:

package jdbc.j1;import java.io.Serializable;public class User implements Serializable{	 private static final long serialVersionUID = 4982996394229149942L;  	int id;	String name;	public int getId() {		return id;	}	public void setId(int id) {		this.id = id;	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public User(int id,String name){		this.id=id;		this.name=name;	}}

UserDao类:

package jdbc.j1;import java.sql.ResultSet;  import java.sql.SQLException;  import java.util.ArrayList;import java.util.LinkedList;import java.util.List;  import org.springframework.beans.factory.annotation.Autowired;  import org.springframework.dao.DataAccessException;import org.springframework.jdbc.core.BeanPropertyRowMapper;import org.springframework.jdbc.core.JdbcTemplate;  import org.springframework.jdbc.core.ResultSetExtractor;import org.springframework.jdbc.core.RowCallbackHandler;  import org.springframework.jdbc.core.RowMapper;import org.springframework.stereotype.Repository;    @Repository  public class UserDao {            @Autowired      private JdbcTemplate jdbcTemplate;        public JdbcTemplate getJdbcTemplate() {          return jdbcTemplate;      }        public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {          this.jdbcTemplate = jdbcTemplate;      }               /**     * 插入语句     */    public void updete(String name) {		String sql = "insert into newuser (name) values (?)";		jdbcTemplate.update(sql,new Object[]{name});	}        /**     * 批量插入数据     */    public void batch_insert() {		String sql = "insert into newuser (name) values (?)";		List
list = new LinkedList<>(); list.add(new Object[]{
"A"}); list.add(new Object[]{
"B"}); list.add(new Object[]{
"C"}); list.add(new Object[]{
"D"}); list.add(new Object[]{
"E"}); jdbcTemplate.batchUpdate(sql, list); } /** * 批量读取数据到实体对象 */ public void fetch_many() { String sql = "select id,name from newuser"; RowMapper
rowMapper = new BeanPropertyRowMapper<>(User.class); List
list = jdbcTemplate.query(sql,rowMapper); for (User user : list) { System.out.println(user.getId()+"---"+user.getName()); } } /** * 删除对象 * @param name */ public void delete(String name) { String sql = "delete from newuser where name=?"; jdbcTemplate.update(sql,new Object[]{name}); } /** * 更改对象 * @param user */ public void change(User user){ String sql = "update newuser set name=? where id=?"; jdbcTemplate.update(sql,new Object[]{user.getName(),user.getId()}); } /** * 提取所有数据 * @return */ public List
findall() { String sql = "select * from newuser"; List
users = jdbcTemplate.query(sql, new ResultSetExtractor
>() { @Override public List
extractData(ResultSet arg0) throws SQLException, DataAccessException { List
users = new ArrayList<>(); while(arg0.next()) { int id = arg0.getInt("id"); String name = arg0.getString("name"); User user = new User(id, name); users.add(user); } return users; } }); return users; } }

转载地址:http://ovcqb.baihongyu.com/

你可能感兴趣的文章
如何在Ubuntu 18.04上安装Apache Kafka
查看>>
如何在Ubuntu 20.04上安装R [快速入门]
查看>>
debian tomcat_如何在Debian 10上安装Apache Tomcat 9
查看>>
如何使用MongoDB和Docker设置Flask
查看>>
如何为Python 3设置Jupyter Notebook
查看>>
docker 容器共享数据_如何在Docker容器之间共享数据
查看>>
express中间件_创建自己的Express.js中间件
查看>>
使用Docker Compose处理多个容器
查看>>
使用Node.js电子书从容器到Kubernetes
查看>>
帝国cms接入小程序_使用无头CMS将'A'放入JAMStack
查看>>
spring react_如何使用React Spring创建动画的React应用
查看>>
go strings包_Go中的Strings包简介
查看>>
盖茨比乔布斯_在盖茨比中使用样式化组件
查看>>
debian 10 安装_如何在Debian 10上安装和使用Composer
查看>>
如何在Kubernetes上安装和使用Istio
查看>>
如何在Ubuntu 18.04上使用Apt安装Java
查看>>
debian安装mysql_如何在Debian 10上安装最新MySQL
查看>>
redis debian_如何在Debian 10上安装和保护Redis
查看>>
react 组件中使用组件_如何使用道具定制React组件
查看>>
如何在Ubuntu 20.04上使用Apt安装Java
查看>>