首先spring针对Java EE三层,都有对应的解决技术。而对于持久化层,都提供了封装,方便操作。如jdbcTemplate对jdbc进行了封装。

下面针对jdbcTemplate的操作进行测试。

—>使用jdbcTemplate的增加,修改,删除,可以使用同一个方法实现,jdbcTemplate.update(sql, Object...args);  sql:指需要执行的SQL语句,后面的是可变参数,表示预处理的参数设置。

—>而使用JbdcTemplate执行查询操作,需要实现RowMapper接口,里面的方法需要我们自己实现,对返回的结果集ResultSet进行封装处理。

对查询返回单个的数据,比如表中的总数:(使用

对于对象的返回使用这个返回的是对象结果集

或者使用这个是输入参数的返回的对象结果集

以下分各种情况进行数据测试。

1.增加的代码实现如下所示:

 1 package com.gp.jdbc;
 2
 3 import org.springframework.jdbc.core.JdbcTemplate;
 4 import org.springframework.jdbc.datasource.DriverManagerDataSource;
 5
 6 public class TemplateDemo {
 7
 8     //使用jdbcTemplate实现数据的增加
 9     public void add (){
10         DriverManagerDataSource dataSource=new DriverManagerDataSource();
11         dataSource.setDriverClassName("com.mysql.jdbc.Driver");
12         dataSource.setUrl("jdbc:mysql://localhost:3306/mybatis");
13         dataSource.setUsername("root");
14         dataSource.setPassword("guo");
15
16         JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);
17         String sql="insert into user(name,password) values(?,?)";
18         int result=jdbcTemplate.update(sql, "丽丽","123456");
19         if(result==1){
20             System.out.println("添加成功");
21         }else{
22             System.out.println("添加失败");
23         }
24     }
25
26
27    public static void main(String[] args) {
28        TemplateDemo td=new TemplateDemo();
29        td.add();
30    }
31 }

数据表中的结果前后如下所示:

2.下面把id=6的密码改为111111的程序如下所示;对上面的方法稍作修改:

package com.gp.jdbc;import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;public class TemplateDemo1 {//使用jdbcTemplate实现数据的修改public void update (){DriverManagerDataSource dataSource=new DriverManagerDataSource();dataSource.setDriverClassName("com.mysql.jdbc.Driver");dataSource.setUrl("jdbc:mysql://localhost:3306/mybatis");dataSource.setUsername("root");dataSource.setPassword("guo");JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);String sql="update user set password=? where name=? ";int result=jdbcTemplate.update(sql, "111111","丽丽");if(result==1){System.out.println("修改成功");}else{System.out.println("修改失败");}}public static void main(String[] args) {TemplateDemo1 td=new TemplateDemo1();td.update();}
}

修改后数据库表中的截图如下所示:

3.实现数据的删除操作,其代码如下所示:

 1 package com.gp.jdbc;
 2
 3 import org.springframework.jdbc.core.JdbcTemplate;
 4 import org.springframework.jdbc.datasource.DriverManagerDataSource;
 5
 6 public class TemplateDemo2 {
 7
 8     //使用jdbcTemplate实现数据的修改
 9     public void delete (){
10         DriverManagerDataSource dataSource=new DriverManagerDataSource();
11         dataSource.setDriverClassName("com.mysql.jdbc.Driver");
12         dataSource.setUrl("jdbc:mysql://localhost:3306/mybatis");
13         dataSource.setUsername("root");
14         dataSource.setPassword("guo456789");
15
16         JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);
17         String sql="delete from user  where name=? ";
18         int result=jdbcTemplate.update(sql, "丽丽");
19         if(result==1){
20             System.out.println("删除成功");
21         }else{
22             System.out.println("删除失败");
23         }
24     }
25
26
27    public static void main(String[] args) {
28        TemplateDemo2 td=new TemplateDemo2();
29        td.delete();
30    }
31 }

执行删除操作后的代码如下所示:

以上的增加,修改和删除都可以使用

4.实现查询一个表中数据的总数,结果如下所示:

package com.gp.jdbc;import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;public class TemplateDemo3 {//使用jdbcTemplate实现数据的查询public void select (){DriverManagerDataSource dataSource=new DriverManagerDataSource();dataSource.setDriverClassName("com.mysql.jdbc.Driver");dataSource.setUrl("jdbc:mysql://localhost:3306/mybatis");dataSource.setUsername("root");dataSource.setPassword("guo");JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);String sql="select count(*) from user ";int result=jdbcTemplate.queryForObject(sql, Integer.class);System.out.println("查询结果为:"+result);}public static void main(String[] args) {TemplateDemo3 td=new TemplateDemo3();td.select();}
}

5.查询表中的一条数据,测试代码如下所示:

实体类:

package com.gp.entity;public class User {private String name;private String password;@Overridepublic String toString() {return "User [name=" + name + ", password=" + password + "]";}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}
}

测试类:

 1 package com.gp.jdbc;
 2
 3 import java.sql.ResultSet;
 4 import java.sql.SQLException;
 5
 6 import org.springframework.jdbc.core.JdbcTemplate;
 7 import org.springframework.jdbc.core.RowMapper;
 8 import org.springframework.jdbc.datasource.DriverManagerDataSource;
 9
10 import com.gp.entity.User;
11
12 public class TemplateDemo4 {
13
14     // 使用jdbcTemplate实现数据的查询
15     public void select() {
16         DriverManagerDataSource dataSource = new DriverManagerDataSource();
17         dataSource.setDriverClassName("com.mysql.jdbc.Driver");
18         dataSource.setUrl("jdbc:mysql://localhost:3306/mybatis");
19         dataSource.setUsername("root");
20         dataSource.setPassword("guo456789");
21
22         JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
23         String sql = "select * from user where name=? ";
24         User user = (User) jdbcTemplate.queryForObject(sql,
25                 new UserRowMapper(), "张三");
26         System.out.println("查询结果为:" + user);
27     }
28
29     public static void main(String[] args) {
30         TemplateDemo4 td = new TemplateDemo4();
31         td.select();
32     }
33 }
34
35 class UserRowMapper implements RowMapper<User> {
36
37     @Override
38     public User mapRow(ResultSet rs, int rowNum) throws SQLException {
39         User user = new User();
40         user.setName(rs.getString("name"));
41         user.setPassword(rs.getString("password"));
42         return user;
43     }
44
45 }

运行结果如下所示:

6.使用jdbcTemplate实现结果集的查询,测试代码如下所示:

实体类不变,测试类如下所示:

package com.gp.jdbc;import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.datasource.DriverManagerDataSource;import com.gp.entity.User;public class TemplateDemo5 {// 使用jdbcTemplate实现数据的查询public void select() {DriverManagerDataSource dataSource = new DriverManagerDataSource();dataSource.setDriverClassName("com.mysql.jdbc.Driver");dataSource.setUrl("jdbc:mysql://localhost:3306/mybatis");dataSource.setUsername("root");dataSource.setPassword("guo456789");JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);String sql = "select * from user";List<User> users = jdbcTemplate.query(sql, new UserRowMapper1());System.out.println("查询结果为:");for (User u : users) {System.out.println(u);}}public static void main(String[] args) {TemplateDemo5 td = new TemplateDemo5();td.select();}
}class UserRowMapper1 implements RowMapper<User> {@Overridepublic User mapRow(ResultSet rs, int rowNum) throws SQLException {User user = new User();user.setName(rs.getString("name"));user.setPassword(rs.getString("password"));return user;}}

测试结果为:

转载于:https://www.cnblogs.com/gpx-startup/p/8576728.html

spring之jdbcTemplate的增删改查操作--不使用配置文件相关推荐

  1. Spring JdbcTemplate CRUD增删改查操作

    执行insert update delete操作 只需要使用JdbcTemplate的update方法就可以执行insert update delete操作. @RunWith(SpringJUnit ...

  2. java jdbctemplate的增删改查的实现

    jdbctemplate终于到你啦,准备了三天的java jdbc的基础知识 准备从建项目中慢慢学习,遇见不知道的就查资料,在回来慢慢的补自己不知道的知识点 1.新建一个项目jdbctemplate ...

  3. Javaweb实现增删改查操作操作

    Javaweb实现增删改查操作操作 一:准备工作 1:Idea编辑器(eclispe和myeclispe都可以,个人推荐使用idea),新建一个web项目 2:数据库mysql 3:需要提前了解的知识 ...

  4. Java+MyEclipse+Tomcat (六)详解Servlet和DAO数据库增删改查操作

    此篇文章主要讲述DAO.Java Bean和Servlet实现操作数据库,把链接数据库.数据库操作.前端界面显示分模块化实现.其中包括数据的CRUD增删改查操作,并通过一个常用的JSP网站前端模板界面 ...

  5. 利用Mybatis对数据库进行增删改查操作

    文章目录 mybatis模糊查找 先来了解一下 #{}和${}的使用 parameterType和resultType的使用 selectOne和selectList的使用 mysql自增主键返回 方 ...

  6. JdbcTemplate的增删改查用法

    JdbcTemplate的增删改查用法 vue前端调用方法 async init() {var that = this;//that.tableData = [];that.page.total = ...

  7. Spring+SpringMVC+Mybatis实现增删改查--(五)SSM修改员工页面搭建

    Spring+SpringMVC+Mybatis实现增删改查--(五)SSM修改员工页面搭建 修改员工: 1.在index.jsp页面点击"编辑"弹出编辑对话框 2.去数据库查询部 ...

  8. python增删改查的框架_简单的Django框架增删改查操作

    Django之orm对MysqL数据库的增删改查操作简介: 利用Django中orm来查找数据库中的数据,对数据库进行增.删.改.查: 增:新增数据 # 操作数据库user表新增记录 # 方式1: u ...

  9. python操作mysql的增删改查_详解使用pymysql在python中对mysql的增删改查操作(综合)...

    这一次将使用pymysql来进行一次对MySQL的增删改查的全部操作,相当于对前五次的总结: 先查阅数据库: 现在编写源码进行增删改查操作,源码为: #!/usr/bin/python #coding ...

最新文章

  1. Openstack平台搭建(先电版)
  2. python对图像二值化_python如何二值化图像
  3. 专科学计算机没有吗,我是专科生,学计算机信息管理专业的,我没有拿到..._考研_帮考网...
  4. hzwap u.php_『THINKPHP』U 函数
  5. C# ocr识别(Tesseract库)
  6. 全流量回溯分析系统介绍
  7. 19. 正则表达式(二)
  8. linux ubantu最新版本,过去十年最佳的Ubuntu版本
  9. 松翰单片机--SN8F5702学习笔记(六)TIMER2
  10. 网页游戏外挂资料(转)
  11. android 自定义locale,Android Locale填坑
  12. 【JSP笔记02】JSP注释、脚本、表达式、JSP三大指令、JSP七大动作的介绍及使用
  13. 数据挖掘中的模式发现(七)GSP算法、SPADE算法、PrefixSpan算法
  14. html src=true,embed属性变true
  15. leetcode sql:游戏玩法分析 III
  16. 计算机软件著作权侵权行为的认定,计算机软件著作权侵权行为认定方法探讨.doc...
  17. 海藻酸盐水凝胶包覆生长因子丝素蛋白微球
  18. python 学习笔记(二)数列
  19. JS中预处理是一种好无节操的机制
  20. java this 逸出_发布逸出 java this 逸出【转】

热门文章

  1. 【数据结构】树状数组笔记
  2. 1050. 螺旋矩阵(25)-PAT乙级真题
  3. python声明编码_Python 2.x 编码声明:是coding:utf-8还是coding=urf-8呢
  4. 【Python】SNMP的安装及Python的调用
  5. Oracle之唯一性约束(UNIQUEConstraint)用法详解
  6. Nisus Writer Pro for Mac拆分视图和注释技巧
  7. Rainbond 5.1.3 发布,快速部署和运维 Spring Cloud 集群
  8. 部署NEP-5智能合约 (第1部分)
  9. 记一次Ubuntu安装nodeJs过程
  10. css3-13 css3的3D动画如何实现