当前位置: 首页 > news >正文

文化建设基金管理有限公司网站随州做网站

文化建设基金管理有限公司网站,随州做网站,营销顾问公司,开网店3个月来亏了10万个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 通过JdbcTemplate实现 增删查改一、添加相关依…

在这里插入图片描述

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~
个人主页:.29.的博客
学习社区:进去逛一逛~

在这里插入图片描述

通过JdbcTemplate实现 增删查改

  • 一、添加相关依赖
  • 二、jdbc.properties配置文件
  • 三、创建数据源对象,配置JdbcTemplate(XML配置文件)
  • 四、实现CRUD操作
    • ①添加操作
    • ②删除操作
    • ③修改操作
    • ④查询操作



一、添加相关依赖


maven依赖

    <dependencies><!--spring jdbc  Spring 持久化层支持jar包--><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.2.6.RELEASE</version></dependency><!-- MySQL驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.31</version></dependency><!-- 数据源 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.15</version></dependency><!--junit5测试--><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><version>5.9.0</version></dependency><!--当你引入Spring Context依赖之后,表示将Spring的基础依赖引入了--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.6.RELEASE</version></dependency><!--spring对junit的支持相关依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>5.2.6.RELEASE</version></dependency>
注意:MySQL驱动的版本需要与下载使用的MySQL版本一致...




二、jdbc.properties配置文件


在这里插入图片描述

配置文件内容:

①用户 ②密码 ③url ④驱动

jdbc.user=root
jdbc.password=abc123
jdbc.url=jdbc:mysql://localhost:3306/spring?characterEncoding=utf8&useSSL=false
jdbc.driver=com.mysql.cj.jdbc.Driver




三、创建数据源对象,配置JdbcTemplate(XML配置文件)


这里通过XML配置文件的方式,读取外部属性文件jdbc.properties,根据读取的信息来获取数据源对象。

这样做的好处是,当我们需要更换数据库账用户,或者是修改数据库地址时,只需要对外部配置文件进行修改即可。

配置jdbcTemplate对象时,id = jdbcTemplate ; class = org.springframework.jdbc.core.JdbcTemplate

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!-- 导入外部属性文件 --><context:property-placeholder location="classpath:jdbc.properties" /><!-- 创建数据源对象 --><bean id="druidDataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.user}"/><property name="password" value="${jdbc.password}"/><property name="driverClassName" value="${jdbc.driver}"/></bean><!-- 配置jdbcTemplate对象,注入数据源 --><bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="druidDataSource"/></bean>
</beans>




四、实现CRUD操作


无论是增删改操作,还是查询操作,第一步都是先编写SQL语句。

  • 增删改操作时,调用jdbcTemplate.update()方法
  • 查询操作时,可调用jdbcTemplate.queryForObject()jdbcTemplate.query()等方法

①添加操作

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;/*** @author .29.* @create 2023-02-06 19:34*/@SpringJUnitConfig(locations = "classpath:beans.xml")
public class JDBCTemplateTest {@Autowiredprivate JdbcTemplate jdbcTemplate;@Testpublic void testUpdate(){//1、添加操作//第一步 编写sql语句String sql = "insert into t_emp values(NULL,?,?,?);";//第二步 调用jdbcTemplate的方法完成更新int rows = jdbcTemplate.update(sql, "高启兰", 20, "女");//按顺序传入参数/*也可通过数组传入参数* Object[] params = {"高启强", 27, "男"}* int rows = jdbcTemplate.update(sql,params);* */System.out.println("影响行数: "+rows);}
}


②删除操作

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;/*** @author .29.* @create 2023-02-06 19:34*/@SpringJUnitConfig(locations = "classpath:beans.xml")
public class JDBCTemplateTest {@Autowiredprivate JdbcTemplate jdbcTemplate;@Testpublic void testUpdate(){//2.删除操作String sql = "delete from t_emp where id = ?";int rows = jdbcTemplate.update(sql,2);System.out.println(rows);}
}


③修改操作

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;/*** @author .29.* @create 2023-02-06 19:34*/@SpringJUnitConfig(locations = "classpath:beans.xml")
public class JDBCTemplateTest {@Autowiredprivate JdbcTemplate jdbcTemplate;@Testpublic void testUpdate(){//3.修改操作String sql = "update t_emp set name = ? where id = ?";int rows = jdbcTemplate.update(sql,"强盛集团老总",1);System.out.println(rows);}
}


④查询操作

查询操作,可以查询对象,查询集合,查询单个值等...
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;import java.util.List;/*** @author .29.* @create 2023-02-06 19:34*/@SpringJUnitConfig(locations = "classpath:beans.xml")
public class JDBCTemplateTest {@Autowiredprivate JdbcTemplate jdbcTemplate;//一、查询,返回对象@Testpublic void testSelectObject(){String sql = "select * from t_emp where id = ?";//方法一,手动封装对象(不推荐,麻烦)Emp empResult = jdbcTemplate.queryForObject(sql,((resultSet, i) -> {Emp emp = new Emp();emp.setId(resultSet.getInt("id"));emp.setName(resultSet.getString("name"));emp.setAge(resultSet.getInt("age"));emp.setSex(resultSet.getString("sex"));return emp;}),1);System.out.println(empResult);//方法二,直接调用方法封装对象 (new BeanPropertyRowMapper<>(Emp.class))Emp empResult2 = jdbcTemplate.queryForObject(sql,new BeanPropertyRowMapper<>(Emp.class),1);System.out.println(empResult2);}//二、查询,返回List集合@Testpublic void testSelectList(){String sql = "select * from t_emp";List<Emp> list = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(Emp.class));System.out.println(list);}//三、查询,返回单个值@Testpublic void testSelectSingle(){String sql = "select count(*) from t_emp";Integer count = jdbcTemplate.queryForObject(sql,Integer.class);System.out.println(count);}

在这里插入图片描述

http://www.yayakq.cn/news/238516/

相关文章:

  • 住房建设部官方网站设计费计取芜湖市建设办网站
  • 网站优化的价值百度联盟网站备案信息
  • 合肥 网站制作虚拟主机购买哪里好
  • 松原市城乡建设局网站如何网上销售自己的产品
  • 企业推广的主要目的是优化网站除了百度站长
  • 宿州做网站软路由做网站
  • 免费个人自助建站seo查询价格
  • 广东省建设见证员网站论述三种常见的网络营销方式
  • 做网站赚钱嘛公司网站维护
  • 网站模板建站公司网件路由器怎么样
  • wap网站源码下载wordpress资源合集显示
  • 新公司做网站多少钱枣庄做网站建设找哪家
  • 广州响应式网站word 添加 wordpress
  • 一个完整的网站推广方案深圳网站设计 公司
  • 外贸网站建站系统渔泡建筑网
  • 上海网站制作软件怀化北京网站建设
  • 为什么做网站要用谷歌浏览器电商网站建设优缺点
  • 可信赖的网站建设公司南昌外包建站
  • 桂林北站离哪个景区近python制作网页教程
  • 网站ui设计是什么红古微信网站建设
  • 网站建设的宗旨wordpress 随机标签
  • 使用c#语言建设网站优点wordpress必须安装php吗
  • 做网站好还是做app好网站图片验证码出不来
  • 用dw6做网站首页腾讯企业邮箱网页版登录入口
  • 网站帮助中心设计网站开发的投标案例
  • 苗木企业网站源码高职两学一做专题网站
  • 网站开发企业培训报名做推广网站的文章术语
  • 云南省城乡建设培训中心网站永州网站建设优化
  • 长沙做网站seo优化外包网站网络推广方式方法
  • 阳原网站建设辽宁建设工程信息网上开标流程