【Mybatis】增删改查

这篇具有很好参考价值的文章主要介绍了【Mybatis】增删改查。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.添加相应的jar包

【Mybatis】增删改查

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;
	}
	@Override
	public 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.xml
			InputStream config = Resources.getResourceAsStream("mybatis-config.xml");
			//根据配置文件构建SqlSessionFactory
			SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(config);
			//通过SqlSessionFactory创建SqlSession
			SqlSession 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();
			//关闭SqlSession
			ss.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.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

效果如下

【Mybatis】增删改查

未创建日志文件如图

【Mybatis】增删改查

6.在数据中创建表

【Mybatis】增删改查

 打开数据中对应的 表

【Mybatis】增删改查

 文章来源地址https://www.toymoban.com/news/detail-433854.html

 

到了这里,关于【Mybatis】增删改查的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Redis 持久化-RDB和 持久化-AOF 的详细介绍以及区别

    在线文档: https://redis.io/topics/persistence RDB(Redis DataBase) AOF(Append Of File) 在指定的时间间隔内将内存中的数据集快照写入磁盘, 也就Snapshot 快照,恢复时将快照文件读到内存 RDB 及其执行流程 对上图的解读 具体流程如下: redis 客户端执行bgsave 命令或者自动触发bgsave 命令;

    2024年02月09日
    浏览(71)
  • Redis - 缓存持久化

    Redis 的缓存持久化有两种技术 : RDB 和 AOF Redis 的数据快照 简单说就是将缓存中的所有数据都记录到磁盘中,当Redis发生故障的时候,只需读取快照文件,就可恢复数据 相应的命令是 save 和 bgsave ,这两个命名都可以手动执行RDB持久化,不过 save 由 Redis 主线程来执行RDB,会阻

    2024年02月14日
    浏览(36)
  • 【iOS】—— 持久化

    快速展示,提升体验 已经加载过的数据,用户下次查看时,不需要再次从网络(磁盘)加载,直接展示给用户 节省用户流量(节省服务器资源) 对于较大的资源数据进行缓存,下次展示无需下载消耗流量 同时降低了服务器的访问次数,节约服务器资源。 离线使用 用户浏览

    2024年02月15日
    浏览(44)
  • flutter:数据持久化

    保存数据到本地磁盘是应用程序常用功能之一,比如保存用户登录信息、用户配置信息等。而保存这些信息通常使用 shared_preferences ,它保存数据的形式为 Key-Value (键值对),支持 Android 和 iOS。 shared_preferences 是一个第三方插件,在 Android 中使用 SharedPreferences ,在 iOS中使用

    2024年02月09日
    浏览(43)
  • RabbitMQ-数据持久化

    1、交换机持久化(SpringAMQP默认) 2、队列持久化(SpringAMQP默认) 3、消息持久化         如果采用纯内存操作,那么消息存储达到队列的上限之后,会有一个page out操作,这个操作是将队列中已经有的一部分MQ消息转移到磁盘,给队列腾出空间,使得队列能够继续接收MQ消息

    2024年01月21日
    浏览(44)
  • redis 持久化机制

    client redis[内存] ----- 内存数据- 数据持久化--磁盘 Redis官方提供了两种不同的持久化方法来将数据存储到硬盘里面分别是: RDB 快照(Snapshot) AOF (Append Only File) 只追加日志文件 1 快照(Snapshot) 1. 特点 这种方式可以将某一时刻的所有数据都写入硬盘中,当然这也是 redis的默认开启持久

    2024年01月22日
    浏览(41)
  • Docker数据持久化

    在容器层的 UnionFS(联合文件系统)中对文件/目录的任何修改,无论是手工修改还是 容器在运行过程中的修改,在该容器丢失或被删除后这些修改将全部丢失。即这些修改是无 法保存下来的。若要保存下来这些修改,通常有两种方式: 定制镜像持久化:将这个修改过的容器

    2024年01月23日
    浏览(60)
  • redis-持久化-1

    RDB(Redis DataBase) AOF(Append Of File) 在指定的时间间隔内将内存中的数据集快照写入磁盘, 也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里 Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到 一个临时文件中,待持久化过程都结束了,再

    2024年01月25日
    浏览(33)
  • 12.redis 持久化

    redis 是一个内存数据库,把数据存储在内存中的,内存中的数据是不持久的,要想做到持久,就需要让redis把数据存储到硬盘上。 为了保证速度块,数据肯定还是得在内存中,但是为了持久化,数据还得想办法存储在硬盘上。 RDB = Redis DataBase 定期备份 RDB 定期的把 Redis 内存中

    2024年02月09日
    浏览(34)
  • Redis的持久化!!!

    首先是如何使用Redis:cmd打开输入redis-server.exe redis.windows.conf即可启动。 持久化: Redis的高性能是由于其将所有数据都存储在了内存中,为了使Redis在重启之后仍能保证数据不丢失,需要将数据从内存中同步到硬盘中,这一过程就是持久化。          Redis支持两种方式的持

    2024年01月24日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包