首页 > 其他 > 详细

mybatis快速搭建

时间:2019-12-20 15:12:25      阅读:91      评论:0      收藏:0      [点我收藏+]

结构图

技术分享图片

 

 

 

1.创建maven项目

2.引入依赖

     <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version> RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.2.8</version>
        </dependency>
     <!--日志约束--> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version> RELEASE</version> </dependency>

3.配置mybatis-config.xml

<?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>
    <!--配置别名-->
    <typeAliases>
        <package name="com.sf.wj.domain"/>
    </typeAliases>
    <!--数据源配置-->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/company?serverTimezone=UTC"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>

    <!--资源引用-->
    <mappers>
        <mapper resource="mappers/UserMapper.xml"/>
    </mappers>

</configuration>

mybatis-config配置文件,要按照一定的顺序配置

技术分享图片

 

 

4.数据库对应的实体类

public class User {
    private int id;
    private String username;
    private String password;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username=‘" + username + ‘\‘‘ +
                ", password=‘" + password + ‘\‘‘ +
                ‘}‘;
    }
}

5.创建mapper接口

package com.sf.wj.mapper;

import com.sf.wj.domain.User;

import java.util.List;

public interface UserMapper {
User queryById(int id);
void deleteById(int id);
List<User> queryAll();
void updateUser(User user);
void insertUser(User user);
List<User> queryByIds(int[] ids);
}

6.创建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.sf.wj.mapper.UserMapper">
    <select id="queryById" parameterType="int" resultType="User">
        select * from user where id = #{id}
    </select>

    <delete id="deleteById" parameterType="Integer" >
        delete from user where id = #{id}
    </delete>

    <select id="queryAll" resultType="User">
        select * from user
    </select>

    <update id="updateUser" parameterType="User">
        update user set username = #{username},password = #{password} where id=#{id}
    </update>

    <insert id="insertUser" parameterType="User">
        insert into user (id,username,password) values (#{id},#{username},#{password})
    </insert>
  
  <!--按多个id查找用户 foreach-->
  <select id="queryByIds" resultType="User">
   select * from user where id in
   <foreach collection="array" open="(" close=")" separator="," item="id">
#{id}
  </foreach>
  </select>
</mapper>

7.测试用例

package com.sf.wj;

import com.sf.wj.domain.User;
import com.sf.wj.mapper.UserMapper;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class UserTest {
    private UserMapper mapper;
    private SqlSession sqlSession;
    private InputStream inputStream;
    @Before
    public void setUp() throws IOException {
        String rusource = "mybatis-config.xml";
         inputStream = Resources.getResourceAsStream(rusource);
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
        //默认传入参数false,不自动提交
        sqlSession = factory.openSession(false);
        mapper = sqlSession.getMapper(UserMapper.class);
    }

    @After
    public void commit(){
        try {
            sqlSession.commit();
            inputStream.close();
            sqlSession.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    @Test
    public void queryByIdTest(){
        User user = mapper.queryById(1);
        System.out.println(user);
    }
    @Test
    public void queryAllTest(){
        List<User> user = mapper.queryAll();
        System.out.println(user);
    }
    @Test
    public void deleteTest(){
        mapper.deleteById(1);
    }
    @Test
    public void updateTest(){
        User user=new User();
        user.setId(1);
        user.setPassword("qwert");
        user.setUsername("jg");
        mapper.updateUser(user);
    }

    @Test
    public void insertTest(){
        User user=new User();
        user.setId(3);
        user.setPassword("369");
        user.setUsername("zs");
        mapper.insertUser(user);
    }
  //多个id查找
  @Test
  public void queryByIdsTest(){
   List<User> list = mapper.queryByIds(new int[]{1, 2, 3});
   System.out.println(list);
  }
}

mybatis快速搭建

原文:https://www.cnblogs.com/jiezai/p/12072801.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!