MyBatis常用注解及基本增删改查的注解实现

Terwer...大约 4 分钟MyBatis后端开发开源框架mybatisannotationframeworkmybatis-13

MyBatis 的常用注解

注解可以减少 Mapper 文件的编写,常用注解如下;

@Insert:实现新增

@Update:实现更新

@Delete:实现删除

@Select:实现查询

@Result:实现结果集封装

@Results:可以和@Result 一起使用,封装多个结果集

@One:实现一对一结果集封装

@Many:实现多对多结果集封装

MyBatis 的增删改查

数据库配置依旧保存不变

jdbc.properties

# 新版驱动名称发生了改变
# jdbc.driver=com.mysql.jdbc.Driver
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false
jdbc.username=terwer
jdbc.password=123456

sqlMapConfig.xml

<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 加载外部的 propeties 文件 -->
    <properties resource="jdbc.properties"/>

    <settings>
        <!-- 输出日志 -->
        <setting name="logImpl" value="STDOUT_LOGGING" />
    </settings>

    <!-- 为实体的全限定类名取别名 -->
    <typeAliases>
        <!-- 给单独的实体起别名 -->
        <!-- <typeAlias type="com.terwergreen.pojo.User" alias="user"/> -->

        <!-- 批量起别名:改包下所有类本身的类名,不区分大小写 -->
        <package name="com.terwergreen.pojo"/> 
    </typeAliases>

    <!-- environments:运行环境 -->
    <environments default="development">
        <environment id="development">
            <!-- 当前事务交给 JDBC 管理 -->
            <transactionManager type="JDBC"></transactionManager>
            <!-- 当前使用 MyBatis 提供的连接池 -->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
        <environment id="production">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>

    <!-- 引入映射配置文件 -->
    <mappers>
        <!--
        <mapper resource="OrderMapper.xml"/>
        -->
        <package name="com.terwergreen.mapper"/>
    </mappers>
</configuration>

User

UserMapper

结果测试

UserMapper

注意:默认不会自动提交事务,可以手动设置SqlSession,也可以在创建SqlSession的时候指定自动提交事务。

// sqlSession = sqlSessionFactory.openSession();
// 这样也是可以的,这样的话后面就不用每次都设置了
sqlSession = sqlSessionFactory.openSession(true);

本文代码地址

mybatis-annotationopen in new window

文章更新历史

2022-08-30 feat:初稿

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.14.9