博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Boot通过JdbcTemplate进行数据持久化
阅读量:7082 次
发布时间:2019-06-28

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

  hot3.png

JdbcTemplate - 这是经典的也是最常用的Spring对于JDBC访问的方案。这也是最低级别的封装, 其他的工作模式事实上在底层使用了JdbcTemplate作为其底层的实现基础。

 

通过观看https://my.oschina.net/sdlvzg/blog/1154281创建项目,再执行以下操作

在pom.xml中引入依赖库

引入jpa依赖库

org.springframework.boot
spring-boot-starter-data-jpa

另数据库使用MYSQL,需要引入相应的驱动程序

mysql
mysql-connector-java

修改application.properties配置文件,增加配置

增加数据库联接配置信息

###########################################################datasource########################################################spring.datasource.url = jdbc:mysql://192.168.1.121:3306/lvgangdbspring.datasource.username = aorakidbspring.datasource.password = Yes@126.comspring.datasource.driverClassName = com.mysql.jdbc.Driverspring.datasource.max-active=20spring.datasource.max-idle=8spring.datasource.min-idle=8spring.datasource.initial-size=10

 

创建数据库表

在数据库中执行以下创建表语句

CREATE TABLE `jdbc_demo` (  `id` bigint(20) NOT NULL AUTO_INCREMENT,  `age` int(11) NOT NULL,  `name` varchar(255) DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8

 

编写代码程序

编写一个实体类

package org.lvgang.bean;public class JdbcDemo {	private long id;// 主键.	private String name;// 测试名称.	private int age;// 测试年龄	public long getId() {		return id;	}	public void setId(long id) {		this.id = id;	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public int getAge() {		return age;	}	public void setAge(int age) {		this.age = age;	}}

 

创建数据持久类

package org.lvgang.Dao;import javax.annotation.Resource;import org.lvgang.bean.JdbcDemo;import org.springframework.jdbc.core.BeanPropertyRowMapper;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.jdbc.core.RowMapper;import org.springframework.stereotype.Repository;/** * 使用JdbcTemplate操作数据库. * @author Administrator */@Repositorypublic class JdbcDao {	@Resource	private JdbcTemplate jdbcTemplate;   //只需要在此引入jdbcTemplate就可以进行数据库操作了	/**	 * 根据ID查询数据	 * @param id	 * @return	 */	public JdbcDemo getById(long id) {		String sql = "select *from jdbc_demo where id=?";		RowMapper
rowMapper = new BeanPropertyRowMapper
(JdbcDemo.class); return jdbcTemplate.queryForObject(sql, rowMapper, id); } /** * 把数据持久化到数据库中 * @param jdbcDemo * @return */ public int save(JdbcDemo jdbcDemo) { String sql = "insert into jdbc_demo(name,age) values(?,?)"; return jdbcTemplate.update(sql, new Object[]{jdbcDemo.getName(),jdbcDemo.getAge()}); }}

 

创建业务服务层Service

package org.lvgang.service;import javax.annotation.Resource;import org.lvgang.Dao.JdbcDao;import org.lvgang.bean.JdbcDemo;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;/** * JPA业务服务层 *  * @author Administrator */@Servicepublic class JdbcService {	@Resource	private JdbcDao jdbcDao; // 数据待久层	/**	 * 把数据保存到数据库中	 * @param jdbcDemo	 * @return 	 */	@Transactional	public int save(JdbcDemo jdbcDemo) {		return jdbcDao.save(jdbcDemo);	}		/**	 * 根据ID查询数据	 * @param id	 * @return	 */	public JdbcDemo getById(long id) {		return jdbcDao.getById(id);	}}

创建控制层Controller

package org.lvgang.controller;import javax.annotation.Resource;import org.lvgang.bean.JdbcDemo;import org.lvgang.service.JdbcService;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;/** * JPA测试控制层 *  * @author Administrator * */@RestController@RequestMapping("/jdbcdemo")public class JdbcController {	@Resource	private JdbcService jdbcService;	/**	 * 测试保存数据方法.	 * 	 * @return	 */	@RequestMapping("/save")	public String save() {		JdbcDemo d = new JdbcDemo();		d.setAge(20);		d.setName("Angel");		jdbcService.save(d);// 保存数据.		return "ok.JdbcController.save";	}		/**	 * 测试按ID查询数据	 * @return	 */	@RequestMapping("/getById")	public JdbcDemo getById() {		return jdbcService.getById(2);	}}

 

完成以上代码编写,通过Main方法进行启动。

通过访问URL:http://127.0.0.1:8080/jdbcdemo/save,页面输入以下信息表示插入成功。

151832_GrVy_2273688.png

再次访问数据库查看jdbc_demo数据是否已经增加

151847_XIFV_2273688.png

完成以上信息表示数据插入成功

 

通过访问URL:http://127.0.0.1:8080/jdbcdemo/getById,验证用户是否已经读取到数据,如果页面展示以下信息表示读取成功

151818_80jl_2273688.png

转载于:https://my.oschina.net/sdlvzg/blog/1154204

你可能感兴趣的文章
Spark 性能相关參数配置具体解释-任务调度篇
查看>>
oracle 10g/11g RAC 启停归档模式
查看>>
MongoDB 删除数据库
查看>>
Centos6 Nginx安装
查看>>
python 11 函数名 迭代器
查看>>
oracle归档日志管理
查看>>
两个链表的第一个公共节点
查看>>
类代码
查看>>
js的闭包原理理解
查看>>
Android AIDL 一探究竟
查看>>
P问题、NP问题和NPC问题
查看>>
vmwear导出OVF模板解析(解决ovf导入服务器失败问题,虚拟机版本等)
查看>>
Nginx 的两种认证方式
查看>>
mysql连表分组报错---- sql_mode=only_full_group_by问题解决
查看>>
让 scrollview动起来,
查看>>
第二周作业
查看>>
Surrounded Regions
查看>>
NodeJS学习笔记之MongoDB模块
查看>>
有趣的js题目
查看>>
OVN conntrack flag
查看>>