spring boot 集成mybatis

要在spring boot中使用mybatis,首先需要在项目中引入jar包
在pom.xml文件中添加配置:

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.3.0</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>

配置文件application.properties中配置数据源信息:

spring.datasource.url = jdbc:mysql://localhost:3306/{baseName}?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
spring.datasource.username = root
spring.datasource.password = 123456
spring.datasource.driverClassName = com.mysql.jdbc.Driver

以下有两种方法操作sql语句。


1、注解式

项目底下新建一个包:com.example.mapper
在新建一个UserMapper接口:

@Mapper
public interface UserMapper {
     @Select("select * from user where id = #{id}")
    User findUserById(@Param("id")int id);

    @Insert("insert into user (name,sex) values (#{user.name},#{user.sex})")
    int insertUser(@Param("user")User user);

    @Update("update user set name = #{name} where id = #{id}")
    User updateUserById(@Param("id")int id,@Param("name")String name);}

    @Delete("delete from user where id = #{id}")
    User deleteUserById(@Param("id")int id);

然后再启动类上加上注解:

@MapperScan(“com.example.mapper”)

告诉容器,启动的时候需要扫描这个包

使用前先注入:

    @Autowired
    private UserMapper userMapper;

    User user = userMapper.findUserById(1);

注解式使用和书写都比较简单,清晰明了。
但是不能应对复杂的sql逻辑。那么就需要配置文件的方式去使用了。
当然这两种方式在项目中是可以共存的。


2、配置文件式

首先新建一个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="cn.les.CMS.mapper.JobMapper">
    <select id="findAllDogs" resultType="com.xyy.domain.Dog">
        SELECT * FROM dog;
    </select>
    <select id="findById" resultType="com.xyy.domain.Dog" parameterType="int">
        SELECT * FROM dog WHERE id=#{id};
    </select>
    <insert id="saveDog" parameterType="com.xyy.domain.Dog">
        INSERT INTO dog(age,name) VALUES(#{age},#{name});
    </insert>
</mapper>

然后再配置文件:application.properties中添加:

mybatis.mapperLocations = classpath:mapping/*.xml

下面需要在写一个接口,接口名跟mapper.xml配置文件中 sql语句的id一样:

public interface DogMapper{
    List<Dog> findAllDogs();
    Dog findById(@Param("id")int id);
}

调用该接口就跟注解式是一样的,这里就省略了。


数据库连接池的配置还没有加入,等待下次。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值