SpringBoot 集成Mybatis

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


    org.mybatis.spring.boot
    mybatis-spring-boot-starter
    1.3.0


    mysql
    mysql-connector-java
    runtime

配置文件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

{baseName}改成你自己的数据库名。

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


1、注解式

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

@Repository
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文件,这个是存放位置:
resources/mapping/

这里就直接贴一个内容了:




    
    
    
        INSERT INTO dog(age,name) VALUES(#{age},#{name});
    

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

mybatis.mapperLocations = classpath:mapping/*.xml

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

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

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


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

你可能感兴趣的:(SpringBoot 集成Mybatis)