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

【Mybatis】增删改查

1.添加相应的jar包

2.创建持久化类

在src目录下创建一个名为com.mybatis.po的包

创建持久化类MyUser,包含三个属性(uid,uname,usex)

package com.mybatis.po;
/***springtest数据库中user表的持久化类*/
public class MyUser {private Integer uid;//主键private String uname;private String usex;public Integer getUid() {return uid;}public void setUid(Integer uid) {this.uid = uid;}public String getUname() {return uname;}public void setUname(String uname) {this.uname = uname;}public String getUsex() {return usex;}public void setUsex(String usex) {this.usex = usex;}@Overridepublic String toString() {return "User [uid=" + uid +",uname=" + uname + ",usex=" + usex +"]";}
}

3.创建映射文件

在src目录下创建一个名为com.mybatis.mapper的包

创建映射文件UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mybatis.mapper.UserMapper"><!-- 根据uid查询一个用户信息 --><select id="selectUserById" parameterType="Integer" resultType="com.mybatis.po.MyUser">select * from user where uid = #{uid}</select><!-- 查询所有用户信息 --><select id="selectAllUser"  resultType="com.mybatis.po.MyUser">select * from user</select><!-- 添加一个用户 ,#{uname}为com.mybatis.po.MyUser的属性值--><insert id="addUser" parameterType="com.mybatis.po.MyUser">insert into user (uname,usex) values(#{uname},#{usex})</insert><!-- 修改一个用户 --><update id="updateUser" parameterType="com.mybatis.po.MyUser">update user set uname = #{uname},usex = #{usex} where uid = #{uid}</update><!-- 删除一个用户 --><delete id="deleteUser" parameterType="Integer"> delete from user where uid = #{uid}</delete>
</mapper>

4.创建Mybatis的配置文件

在src目录下创建Mybatis的核心配置文件(mybatis-config.xml)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!-- 配置环境 --><environments default="development"><environment id="development"><!-- 使用JDBC的事务管理 --><transactionManager type="JDBC"/><dataSource type="POOLED"><!-- MySQL数据库驱动 --><property name="driver" value="com.mysql.jdbc.Driver"/><!-- 连接数据库的URL --><property name="url" value="jdbc:mysql://localhost:3306/数据库名?characterEncoding=utf8"/><property name="username" value=" 账号名 "/><property name="password" value=" 密码 "/></dataSource></environment></environments><mappers><!-- 映射文件的位置 --><mapper resource="com/mybatis/mapper/UserMapper.xml"/></mappers>
</configuration>

5.创建测试类

在src目录下创建一个名为com.mybatis.test的包,在该包中创建MyBatisTest测试类

package com.mybatis.test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.mybatis.po.MyUser;
public class MyBatisTest {public static void main(String[] args) {try {//读取配置文件mybatis-config.xmlInputStream config = Resources.getResourceAsStream("mybatis-config.xml");//根据配置文件构建SqlSessionFactorySqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(config);//通过SqlSessionFactory创建SqlSessionSqlSession ss = ssf.openSession();//SqlSession执行映射文件中定义的SQL,并返回映射结果//com.mybatis.mapper.UserMapper.selectUserById为UserMapper.xml中的命名空间+select的id//查询一个用户MyUser mu = ss.selectOne("com.mybatis.mapper.UserMapper.selectUserById", 1);System.out.println(mu);//添加一个用户MyUser addmu = new MyUser();addmu.setUname("张三");addmu.setUsex("男");ss.insert("com.mybatis.mapper.UserMapper.addUser",addmu);//修改一个用户MyUser updatemu = new MyUser();updatemu.setUid(1);updatemu.setUname("李四");updatemu.setUsex("女");ss.update("com.mybatis.mapper.UserMapper.updateUser", updatemu);//删除一个用户ss.delete("com.mybatis.mapper.UserMapper.deleteUser", 3);//查询所有用户List<MyUser> listMu = ss.selectList("com.mybatis.mapper.UserMapper.selectAllUser");for (MyUser myUser : listMu) {System.out.println(myUser);}//提交事务ss.commit();//关闭SqlSessionss.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}

通过SqlSessionFactory对象创建SqlSwssion对象,并使用SqlSession对象的方法进行执行

数据库操作

调式:

在src目录下创建创建日志文件(log4j.properties)

作用:便于开发者查看控制台输出的SQL语句

代码如下:

# Global logging configuration
log4j.rootLogger=ERROR, stdout
# MyBatis logging configuration...
log4j.logger.com.mybatis=DEBUG
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

效果如下

未创建日志文件如图

6.在数据中创建表

 打开数据中对应的 表

 

 

http://www.lryc.cn/news/65675.html

相关文章:

  • 20230504----重返学习-vue2项目-跳转拦截-重定向并返回前一页-使用vuex调用接口-全选与全不选-总价计算
  • (异或相消)猫猫数字异或和
  • 树脂塞孔有哪些优缺点及应用?
  • 【Robot Framework】RF关键字大全
  • Xilinx Artix-7【XC7A35T-2CSG324I】【XC7A35T-1CSG324I】成本与收发器优化的FPGA器件
  • K8S之自定义Controller
  • 无线电相关的SCI期刊有哪些? - 易智编译EaseEditing
  • Rust - 结构体基本使用
  • 29. Kubernetes 核心组件讲解——Controller Manager
  • BetaFlight统一硬件配置文件研读之feature命令
  • ChatGPT 不好用?那你看下这份 Prompt 工程指南
  • 冲浪杂记——
  • 深入理解Python中的进程与线程
  • Data retry场景介绍
  • lua | 数组与迭代器的使用
  • 【云原生】云原生服务网格流量控制思考
  • 《数据库的嵌套查询和统计查询》
  • 【网站架构】Nginx 4层、7层代理配置,正向代理、反向代理详解
  • mysql备份和恢复
  • 新闻月刊 | GBASE 4月市场动态一览
  • Java --- springboot2数据响应与内容协商
  • “中特估”乘风破浪!后续机遇在哪?
  • OpenShift 4 - 在 CI/CD Pipeline 中创建 KubeVirt 容器虚拟机 - 方法3
  • 功率放大器在Lamb波信号波包模型验证研究中的应用
  • Apache Hadoop
  • PHP+vue大学生心理健康评价和分析系统8w3ff
  • 【图像分割】【深度学习】SAM官方Pytorch代码-Mask decoder模块MaskDeco网络解析
  • A Restful API
  • 从零开始学习JSP,让你全面掌握Web开发技能
  • java基于知识库的中医药问询系统