SpringBoot整合Mybatis

pom中添加相关依赖

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.3.2</version>
</dependency>
<!-- MYSQL包 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

配置application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/springboot-learning
spring.datasource.password=root
spring.datasource.username=root

# 驼峰命名规范
mybatis.configuration.map-underscore-to-camel-case=true
#配置mybatis xml配置文件
mybatis.mapper-locations=classpath:mapper/*.xml
# 设置打印mybatis SQL语句
logging.level.com.lzc.mybatis.mapper=debug

新建一张user表

CREATE TABLE `user` (
  `user_id` int(8) NOT NULL AUTO_INCREMENT COMMENT '主键自增',
  `name` varchar(50) NOT NULL COMMENT '用户名',
  `password` varchar(50) NOT NULL COMMENT '密码',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表';

User实体类

package com.lzc.mybatis.dataobject;

public class User {

    private Integer userId;

    private String name;

    private String password;

    public User() {
    }

    public User(String name, String password) {
        this.name = name;
        this.password = password;
    }

    public User(Integer userId, String name, String password) {
        this.userId = userId;
        this.name = name;
        this.password = password;
    }

    // 省略get、set方法

}

新建UserMapper.java,前面三个方法采用注解方式,后面两个方法采用xml实现

package com.lzc.mybatis.mapper;

import com.lzc.mybatis.dataobject.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface UserMapper{
    @Insert("insert into user(name, password) values(#{name}, #{password})")
    @Options(useGeneratedKeys = true, keyProperty = "userId")
    int insert(User user);

    @Select("select * from user where user_id = #{id}")
    User getById(Integer id);

    @Select("select * from user")
    List<User> getAll();

    int insertAll(List<User> users);

    int deleteAll(List<Integer> ids);
}

在resources下面新建mapper文件夹,然后新建一个UserMapper.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="com.lzc.mybatis.mapper.UserMapper" >

    <delete id="deleteAll" parameterType="java.util.List">
        delete from user where user_id in
        <foreach item="id" collection="list" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>

    <insert id="insertAll" parameterType="java.util.List">
        insert  into user (user_id, name, password) values
        <foreach collection="list" item="user" index= "index" separator =",">
            (
              #{user.userId},#{user.name}, #{user.password}
            )
        </foreach>
    </insert>

</mapper>

测试类

@RunWith(SpringRunner.class)
@SpringBootTest
public class UserMapperTest {

    @Autowired
    private UserMapper userMapper;

    @Test
    public void insert() {
        User user = new User("lzc","123456");
        userMapper.insert(user);
        System.out.println(user.toString());
    }

    @Test
    public void getById() {
        User user = userMapper.getById(6);
        System.out.println(user);
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值