springBoot 配置MyBatis

简介: springBoot 配置MyBatis

springBoot 配置MyBatis

引入Maven(Maven官网)

Maven mybatis
   <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.3</version>
        </dependency>

xml配置MyBatis

1.创建bean

public class Employee {
    private Integer id;
    private String last_name;
    private String email;
    private Integer gender;
    private Integer d_id;

2、创建Mapper

import com.example.springbootjdbc.bean.Employee;
import org.apache.ibatis.annotations.Mapper;
/**
 * <pre>
 *  @author: Meng
 *  @time:2020/6/16 0016  11:43
 *  @dec: EmployeeMapper
 *
 * <pre>
 */
@Mapper//必须添加@Mapper 和myBatis进行连接
public interface EmployeeMapper {
    //查询方法
    public Employee getEmpById(Integer id);
    //添加方法
    public void insertEmp(Employee employee);
}

3、创建Mapper.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">
<!--第 1 步绑定 mapper接口全类名-->
<mapper namespace="com.example.springbootjdbc.mapper.EmployeeMapper">
    <!-- 'id' 就是mapper接口里面的方法名  'resultType' 返回类型(也要是全类名)   -->
    <select id="getEmpById" resultType="com.example.springbootjdbc.bean.Employee">
      SELECT * FROM employee WHERE id=#{id}
    </select>
    <insert id="insertEmp">
        INSERT INTO employee(last_name,email,gender,d_id) VALUE (#{last_name},#{email},#{gender},#{d_id})
    </insert>
</mapper>


4、配置mybatis其他配置项(官网链接)


这里是一些常用设置项

<settings>
  <setting name="cacheEnabled" value="true"/>
  <setting name="lazyLoadingEnabled" value="true"/>
  <setting name="multipleResultSetsEnabled" value="true"/>
  <setting name="useColumnLabel" value="true"/>
  <setting name="useGeneratedKeys" value="false"/>
  <setting name="autoMappingBehavior" value="PARTIAL"/>
  <setting name="autoMappingUnknownColumnBehavior" value="WARNING"/>
  <setting name="defaultExecutorType" value="SIMPLE"/>
  <setting name="defaultStatementTimeout" value="25"/>
  <setting name="defaultFetchSize" value="100"/>
  <setting name="safeRowBoundsEnabled" value="false"/>
  <setting name="mapUnderscoreToCamelCase" value="false"/>
  <setting name="localCacheScope" value="SESSION"/>
  <setting name="jdbcTypeForNull" value="OTHER"/>
  <setting name="lazyLoadTriggerMethods"
    value="equals,clone,hashCode,toString"/>
</settings>

创建config配置文件:

<?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>
    <settings>
        <!--https://mybatis.org/mybatis-3/configuration.html#settings-->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
        <setting name="useGeneratedKeys" value="true"/>
    </settings>
</configuration>

5、配置application.yml

mybatis:
#  目录地址
  config-location: classpath:mybatis/mybatis-config.xml
#  目录地址
  mapper-locations: classpath:mybatis/mapper/*.xml


另一种注释配置MyBatis

没有上面的第3第4步第5步;

上面的第2步,创建mapper有所不同(建议使用第一种通过xml方式配置)


/**
 * <pre>
 *  @author: Meng
 *  @time:2020/6/15 0015  15:15
 *  @dec: DepartmentMapper
 *
 * <pre>
 */
@Mapper
public interface DepartmentMapper {
    @Select("select * from depaetment where d_id=#{id}")
    public Department getDepById(Integer id);
    @Delete("delete from depaetment where d_id=#{id}")
    public int deleteDeptById(Integer id);
    @Options(useGeneratedKeys = true, keyProperty = "d_id")
    @Insert("insert into depaetment(dep_name) values(#{dep_name})")
    public int insertDept(Department depaetment);
    @Update("update depaetment set dep_name=#{dep_name} where d_id=#{d_id}")
    public int updateDept(Department depaetment);
}
目录
相关文章
|
XML Java 数据库连接
MyBatis的常见配置
MyBatis 常见配置包括数据库连接、类型别名、映射器等核心模块,合理配置可提升开发效率与系统性能。主要内容涵盖核心配置文件结构、关键配置项详解及配置优先级说明。
959 4
|
Java Spring
Spring Boot配置的优先级?
在Spring Boot项目中,配置可通过配置文件和外部配置实现。支持的配置文件包括application.properties、application.yml和application.yaml,优先级依次降低。外部配置常用方式有Java系统属性(如-Dserver.port=9001)和命令行参数(如--server.port=10010),其中命令行参数优先级高于系统属性。整体优先级顺序为:命令行参数 &gt; Java系统属性 &gt; application.properties &gt; application.yml &gt; application.yaml。
1479 0
|
Oracle 关系型数据库 Java
【YashanDB知识库】Mybatis-Plus适配崖山配置
【YashanDB知识库】Mybatis-Plus适配崖山配置
|
JavaScript Java Maven
【SpringBoot(二)】带你认识Yaml配置文件类型、SpringMVC的资源访问路径 和 静态资源配置的原理!
SpringBoot专栏第二章,从本章开始正式进入SpringBoot的WEB阶段开发,本章先带你认识yaml配置文件和资源的路径配置原理,以方便在后面的文章中打下基础
761 4
|
SQL XML Java
通过MyBatis的XML配置实现灵活的动态SQL查询
总结而言,通过MyBatis的XML配置实现灵活的动态SQL查询,可以让开发者以声明式的方式构建SQL语句,既保证了SQL操作的灵活性,又简化了代码的复杂度。这种方式可以显著提高数据库操作的效率和代码的可维护性。
721 18
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
2054 5
|
传感器 Java 数据库
探索Spring Boot的@Conditional注解的上下文配置
Spring Boot 的 `@Conditional` 注解可根据不同条件动态控制 Bean 的加载,提升应用的灵活性与可配置性。本文深入解析其用法与优势,并结合实例展示如何通过自定义条件类实现环境适配的智能配置。
790 0
探索Spring Boot的@Conditional注解的上下文配置
|
安全 算法 Java
在Spring Boot中应用Jasypt以加密配置信息。
通过以上步骤,可以在Spring Boot应用中有效地利用Jasypt对配置信息进行加密,这样即使配置文件被泄露,其中的敏感信息也不会直接暴露给攻击者。这是一种在不牺牲操作复杂度的情况下提升应用安全性的简便方法。
1738 10
|
Java 数据库连接 数据库
Spring boot 使用mybatis generator 自动生成代码插件
本文介绍了在Spring Boot项目中使用MyBatis Generator插件自动生成代码的详细步骤。首先创建一个新的Spring Boot项目,接着引入MyBatis Generator插件并配置`pom.xml`文件。然后删除默认的`application.properties`文件,创建`application.yml`进行相关配置,如设置Mapper路径和实体类包名。重点在于配置`generatorConfig.xml`文件,包括数据库驱动、连接信息、生成模型、映射文件及DAO的包名和位置。最后通过IDE配置运行插件生成代码,并在主类添加`@MapperScan`注解完成整合
1815 1
Spring boot 使用mybatis generator 自动生成代码插件
|
人工智能 安全 Java
Spring Boot yml 配置敏感信息加密
本文介绍了如何在 Spring Boot 项目中使用 Jasypt 实现配置文件加密,包含添加依赖、配置密钥、生成加密值、在配置中使用加密值及验证步骤,并提供了注意事项,确保敏感信息的安全管理。
1825 1