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

腾讯快速建站平台空气炸锅做糕点的网站

腾讯快速建站平台,空气炸锅做糕点的网站,wordpress自适应商城,怎么做盲盒前面几篇我们介绍了使用Mybatis查询数据#xff0c;并且也了解了如何在Mybatis中使用JDK的日志系统打印日志#xff1b;本篇我们继续介绍如何使用Mybatis完成数据的插入、修改和删除。 如果您对查询数据和Mybatis集成JDK日志系统不太了解#xff0c;建议您先进行了解后再阅…前面几篇我们介绍了使用Mybatis查询数据并且也了解了如何在Mybatis中使用JDK的日志系统打印日志本篇我们继续介绍如何使用Mybatis完成数据的插入、修改和删除。 如果您对查询数据和Mybatis集成JDK日志系统不太了解建议您先进行了解后再阅读本篇可以参考 Mybatis查询数据https://blog.csdn.net/m1729339749/article/details/132469672Mybatis 日志(JDK Log)https://blog.csdn.net/m1729339749/article/details/132565362 一、数据准备 这里我们直接使用脚本初始化数据库中的数据 -- 如果数据库不存在则创建数据库 CREATE DATABASE IF NOT EXISTS demo DEFAULT CHARSET utf8; -- 切换数据库 USE demo; -- 创建用户表 CREATE TABLE IF NOT EXISTS T_USER(ID INT PRIMARY KEY,USERNAME VARCHAR(32) NOT NULL,AGE INT NOT NULL ); -- 插入用户数据 INSERT INTO T_USER(ID, USERNAME, AGE) VALUES(1, 张三, 20),(2, 李四, 22),(3, 王五, 24);创建了一个名称为demo的数据库并在库里创建了名称为T_USER的用户表并向表中插入了数据 二、环境搭建 1、创建实体类 在cn.horse.demo下创建UserInfo类 UserInfo类 package cn.horse.demo;public class UserInfo {private Integer id;private String name;private Integer age;public void setId(Integer id) {this.id id;}public void setName(String name) {this.name name;}public void setAge(Integer age) {this.age age;}Overridepublic String toString() {StringBuilder stringBuilder new StringBuilder();stringBuilder.append({);stringBuilder.append(id: this.id);stringBuilder.append(, );stringBuilder.append(name: this.name);stringBuilder.append(, );stringBuilder.append(age: this.age);stringBuilder.append(});return stringBuilder.toString();} }2、Mapper配置文件 在resources的目录下新建UserInfoMapper.xml配置文件 ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttps://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecn.horse.demo.UserInfoMapperselect idfindById resultTypecn.horse.demo.UserInfoSELECTID,USERNAME name,AGEFROM T_USERWHERE ID #{id}/select /mapper3、引入配置文件 在resources下新建mybatis-config.xml配置文件并引入UserInfoMapper.xml配置文件 ?xml version1.0 encodingUTF-8 ? !DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtd configurationsettingssetting namelogImpl valueJDK_LOGGING//settingsenvironments defaultdevelopmentenvironment iddevelopmenttransactionManager typeJDBC/dataSource typePOOLEDproperty namedriver valueorg.gjt.mm.mysql.Driver/property nameurl valuejdbc:mysql://localhost:3306/demo?useUnicodetrueamp;useSSLfalseamp;characterEncodingutf8/property nameusername valueroot/property namepassword valuehorse//dataSource/environment/environmentsmappersmapper resourcedemo/UserInfoMapper.xml //mappers /configuration4、会话工具类 在cn.horse.demo包下新建SqlSessionUtils工具类 package cn.horse.demo;import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.InputStream; import java.util.Objects;public class SqlSessionUtils {private static final SqlSessionFactory sqlSessionFactory;static {// 读取mybatis配置文件InputStream inputStream ClassLoader.getSystemClassLoader().getResourceAsStream(mybatis-config.xml);// 根据配置创建SqlSession工厂sqlSessionFactory new SqlSessionFactoryBuilder().build(inputStream);}/*** 开启会话* return*/public static SqlSession openSession() {return sqlSessionFactory.openSession();}/*** 关闭会话* param sqlSession*/public static void closeSession(SqlSession sqlSession) {if(Objects.nonNull(sqlSession)) {sqlSession.close();}} }5、JDK 日志系统配置 在resources的目录下新建logging.properties配置文件 handlersjava.util.logging.ConsoleHandler .levelINFOcn.horse.demo.UserInfoMapper.levelFINER java.util.logging.ConsoleHandler.levelALL java.util.logging.ConsoleHandler.formatterjava.util.logging.SimpleFormatter java.util.logging.SimpleFormatter.format%1$tY-%1$tm-%1$td %1$tT.%1$tL %4$s %3$s - %5$s%6$s%n在cn.horse.demo下创建JdkLogConfig类 JdkLogConfig类 package cn.horse.demo;import java.io.IOException; import java.io.InputStream; import java.util.logging.LogManager;public class JdkLogConfig {public JdkLogConfig() {try {InputStream inputStream ClassLoader.getSystemClassLoader().getResourceAsStream(logging.properties);LogManager.getLogManager().readConfiguration(inputStream);} catch (IOException e) {throw new RuntimeException(e);}} }6、启动程序 package cn.horse.demo;import org.apache.ibatis.session.SqlSession;import java.util.List;public class Main {public static void main(String[] args) {// 配置日志文件System.setProperty(java.util.logging.config.class, cn.horse.demo.JdkLogConfig);findById(2);}private static void findById(Integer id) {SqlSession sqlSession null;try {sqlSession SqlSessionUtils.openSession();UserInfo userInfo sqlSession.selectOne(cn.horse.demo.UserInfoMapper.findById, id);System.out.println(userInfo);} finally {SqlSessionUtils.closeSession(sqlSession);}} }测试 查询id为2的用户信息 执行后的结果如下 三、插入数据 在UserInfoMapper.xml配置文件中新增insert标签并写入insert语句 insert idinsertINSERT INTO T_USER(ID,USERNAME,AGE)VALUES(#{id}, #{name}, #{age}) /insertinsert标签id代表的是标签的编号标签的内容是insert语句insert语句中可以使用参数用法与查询时一致。 测试 在启动程序中新建insert方法 private static void insert(UserInfo userInfo) {SqlSession sqlSession null;try {sqlSession SqlSessionUtils.openSession();sqlSession.insert(cn.horse.demo.UserInfoMapper.insert, userInfo);sqlSession.commit();} finally {SqlSessionUtils.closeSession(sqlSession);} }这里插入数据我们调用了SqlSession对象的insert方法另外还需要调用SqlSession对象的commit方法用于提交事务。 在main方法中调用insert方法插入一条数据并查询 // 引入JDK日志配置 System.setProperty(java.util.logging.config.class, cn.horse.demo.JdkLogConfig);UserInfo userInfo new UserInfo(); userInfo.setId(5); userInfo.setName(王五); userInfo.setAge(5); // 插入 insert(userInfo); findById(5);执行后的结果如下 从执行的日志中可以看到insert语句以及传入的参数执行的结果受影响的行数 插入结束后我们使用id进行查询发现查询出来了新添加的数据 四、修改数据 在UserInfoMapper.xml配置文件中新增update标签并写入update语句 update idupdateUPDATE T_USERSET USERNAME #{name},AGE #{age}WHERE ID #{id} /updateupdate标签id代表的是标签的编号标签的内容是update语句update语句中可以使用参数用法与查询时一致。 测试 在启动程序中新建update方法 private static void update(UserInfo userInfo) {SqlSession sqlSession null;try {sqlSession SqlSessionUtils.openSession();sqlSession.update(cn.horse.demo.UserInfoMapper.update, userInfo);sqlSession.commit();} finally {SqlSessionUtils.closeSession(sqlSession);} }这里更新数据我们调用了SqlSession对象的update方法另外还需要调用SqlSession对象的commit方法用于提交事务。 在main方法中调用update方法更新数据并查询 // 引入JDK日志配置 System.setProperty(java.util.logging.config.class, cn.horse.demo.JdkLogConfig);UserInfo userInfo new UserInfo(); userInfo.setId(5); userInfo.setName(王五2); userInfo.setAge(50); // 更新 update(userInfo); findById(5);执行后的结果如下 从执行的日志中可以看到update语句以及传入的参数执行的结果受影响的行数 更新结束后我们使用id进行查询发现查询出来了修改后的数据 五、删除数据 在UserInfoMapper.xml配置文件中新增delete标签并写入delete语句 delete iddeleteDELETE FROM T_USERWHERE ID #{id} /deletedelete标签id代表的是标签的编号标签的内容是delete语句delete语句中可以使用参数用法与查询时一致。 测试 在启动程序中新建delete方法 private static void delete(Integer id) {SqlSession sqlSession null;try {sqlSession SqlSessionUtils.openSession();sqlSession.delete(cn.horse.demo.UserInfoMapper.delete, id);sqlSession.commit();} finally {SqlSessionUtils.closeSession(sqlSession);} }这里删除数据我们调用了SqlSession对象的delete方法另外还需要调用SqlSession对象的commit方法用于提交事务。 在main方法中调用delete方法删除数据并查询 // 引入JDK日志配置 System.setProperty(java.util.logging.config.class, cn.horse.demo.JdkLogConfig);// 删除 delete(5); findById(5);执行后的结果如下 从执行的日志中可以看到delete语句以及传入的参数执行的结果受影响的行数 删除结束后我们使用id进行查询发现已经查询不到数据了
http://www.ho-use.cn/article/10820744.html

相关文章:

  • 网站建设怎么付款关键词优化的发展趋势
  • 石家庄网站定做模板网站建设开发
  • 漳平建设局网站重庆网站建设方案详细方案
  • 做移动网站快速排电子商务网站建设初学视频教程
  • 优质做网站哪家正规手机网页游戏排行榜前十
  • 旅游网站建设策划方案自助 建网站
  • 黑龙江新闻最新消息今天百度seo排名优化是什么
  • 免费公司建站服务器个人买能干什么
  • 网站建设算加工承揽合同吗太原定制网站开发制作
  • 深圳快速网站制图文型官网站
  • 网站的做网站的公司专业网站设计第三方服务
  • 长春求推荐好的网站优化推广教育机构有哪些
  • 深圳外贸网站怎么建怎么根据街景图片找地址
  • 网站域名列表怎么填写网站数据库丢失
  • 如何进入网站后台地址泸州本地网站建设
  • 外贸类网站建设诊断网站seo现状的方法
  • 优度网站建设找附近工作招聘信息
  • 沈阳网站关键词网络营销的基本方式
  • win2003创建网站外包公司值得去吗
  • 潍坊网站建设方案网站开发硬件环境
  • 给别人做网站多少钱wordpress rtmp
  • 网站案例上海保安服定制公司
  • 哪些做图片赚钱的网站wordpress获取当前页面
  • 网站怎么申请百度小程序给自己公司做网站运营
  • 教育信息化建设网站濮阳公司做网站
  • 重庆网站建设网页设计360浏览器有些网页打不开是什么原因
  • 网站建设公司推荐乐云seo搭建网站费用
  • 目前网站开发语言网页生成app怎么用
  • 济南网站建设直播东莞做网站 自媒体
  • 爱名网做网站教程91色做爰免费网站