MyBatis的增删改查基本操作

2024-09-05 10:08

本文主要是介绍MyBatis的增删改查基本操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MyBatis和Hibernate的使用基本一样,区别在于Hibernate在Java代码中实现数据库操作,集成度高;Mybatis在注解或者xml文件中通过配置实现SQL语句,更加灵活


创建使用MyBatis的Java项目

1. 创建并配置

  • 创建Java项目并引入MyBaits的jar文件
  • 配置log4j.properties(用于查看执行的SQL语句,日志等)
log4j.rootLogger=DEBUG,Consolelog4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d[%t]%-5p[%c]-%m%nlog4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
  • 配置MyBaits的配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><environments default="development"><environment id="development"><transactionManager type="JDBC" /><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://localhost/mybatis?useSSL=false" /><property name="username" value="root" /><property name="password" value="123456" /></dataSource></environment></environments><!-- 映射文件 --><mappers><mapper resource="map/query.xml" /><mapper resource="map/insert.xml" /><mapper resource="map/update.xml" /><mapper resource="map/delete.xml" /></mappers>
</configuration>    

2.实现增删改查操作

  • 创建和数据库表对应的JavaBean
  • 创建相应的文件
  • 通过Java中调用实现相关操作
//加载配置文件并初始化
public class InsertTest {public static void main(String[] args) {String resource = "map/mybatis.xml";Reader reader = null;SqlSessionFactory factory = null;SqlSession session = null;try {reader = Resources.getResourceAsReader(resource);factory = new SqlSessionFactoryBuilder().build(reader);session = factory.openSession();/***具体功能实现部分**/session.commit();} catch (IOException e) {session.rollback();e.printStackTrace();} finally {session.close();}}
}
  • insert.xml
<!-- 插入新数据 --><!-- 语句的id,传入的数据类型,语句类型为预编译语句,主键是id,由数据库处理主键值 --><insert id="insert" parameterType="pojo.User" statementType="PREPARED"keyProperty="id" useGeneratedKeys="true">insert into mybatis(name,password)values(#{name},#{password})</insert>
  • insert实现
    User user = new User(1, "果粒橙", "果粒橙");session.insert("insert", user);
  • delete.xml
    <!-- 删除数据 --><delete id="deleteByObject" parameterType="pojo.User">delete from mybatiswhere id = #{id}</delete><delete id="deleteByID" parameterType="int">delete from mybatis whereid = #{id}</delete>
  • delete实现
        // 通过对象删除User user = new User();user.setId(3);session.delete("deleteByObject", user);// 通过ID删除session.delete("deleteByID", 2);
  • update.xml
<!-- 更新数据 --><!-- id,插入的数据类型 --><update id="update" parameterType="pojo.User">update mybatis set name=#{name},password=#{password}where id = #{id}</update>
  • update实现
    User user = new User(3, "益达", "你的益达");session.update("update", user);
  • query.xml
    <!-- 根据ID查询一个结果,返回值类型为User对象 --><select id="queryUser" resultType="pojo.User">select * from mybatis where id = #{id}</select><!-- 查询多个结果,返回值类型为User对象 --><select id="queryUsers" resultType="pojo.User">select * from mybatis</select><!-- 查询多个结果,返回resultMap --><resultMap type="pojo.User" id="queryResultMap"><id column="id" property="id"></id><result property="name" column="name" /><result property="password" column="password" /></resultMap><select id="queryMap" resultMap="queryResultMap">select * from mybatis</select>
  • query实现
    // 返回一个查询结果,返回resultTypeUser user = session.selectOne("queryUser", 1);System.out.println(user.getName());// 返回多个查询结果,返回resultTypeList<User> results = session.selectList("queryUsers");for (User user1 : results) {System.out.println(user1.getName() + "---" + user1.getPassword());}// 返回多个结果,返回resultMapList<User> results1 = session.selectList("queryMap");for (User user2 : results1) {System.out.println(user2.getName() + "---" + user2.getPassword());}

  • 表

项目下载

这篇关于MyBatis的增删改查基本操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1138662

相关文章

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

Mybatis 传参与排序模糊查询功能实现

《Mybatis传参与排序模糊查询功能实现》:本文主要介绍Mybatis传参与排序模糊查询功能实现,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、#{ }和${ }传参的区别二、排序三、like查询四、数据库连接池五、mysql 开发企业规范一、#{ }和${ }传参的

基于SpringBoot+Mybatis实现Mysql分表

《基于SpringBoot+Mybatis实现Mysql分表》这篇文章主要为大家详细介绍了基于SpringBoot+Mybatis实现Mysql分表的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录基本思路定义注解创建ThreadLocal创建拦截器业务处理基本思路1.根据创建时间字段按年进

将Mybatis升级为Mybatis-Plus的详细过程

《将Mybatis升级为Mybatis-Plus的详细过程》本文详细介绍了在若依管理系统(v3.8.8)中将MyBatis升级为MyBatis-Plus的过程,旨在提升开发效率,通过本文,开发者可实现... 目录说明流程增加依赖修改配置文件注释掉MyBATisConfig里面的Bean代码生成使用IDEA生

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Spring Boot结成MyBatis-Plus最全配置指南

《SpringBoot结成MyBatis-Plus最全配置指南》本文主要介绍了SpringBoot结成MyBatis-Plus最全配置指南,包括依赖引入、配置数据源、Mapper扫描、基本CRUD操... 目录前言详细操作一.创建项目并引入相关依赖二.配置数据源信息三.编写相关代码查zsRArly询数据库数

Spring Boot 整合 MyBatis 连接数据库及常见问题

《SpringBoot整合MyBatis连接数据库及常见问题》MyBatis是一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射,下面详细介绍如何在SpringBoot项目中整合My... 目录一、基本配置1. 添加依赖2. 配置数据库连接二、项目结构三、核心组件实现(示例)1. 实体类2. Ma

Mybatis从3.4.0版本到3.5.7版本的迭代方法实现

《Mybatis从3.4.0版本到3.5.7版本的迭代方法实现》本文主要介绍了Mybatis从3.4.0版本到3.5.7版本的迭代方法实现,包括主要的功能增强、不兼容的更改和修复的错误,具有一定的参考... 目录一、3.4.01、主要的功能增强2、selectCursor example3、不兼容的更改二、