Mybatis使用入门

mybatis

1.mybatis

轻量级持久层框架

  • 封装JDBC

  • sql、代码分离

  • 提供xml标签 实现动态SQL

2.使用步骤

2.1、环境搭建

  • 创建mevin工程

  • 创建父工程

  • 导入相关依赖

    • mysql驱动

    • mybatis核心

    • junit测试

 <dependency>
     <groupId>junit</groupId>
     <artifactId>junit</artifactId>
     <version>4.11</version>
     <scope>test</scope>
 </dependency>
     
 <dependency>
     <groupId>org.mybatis</groupId>
     <artifactId>mybatis</artifactId>
     <version>3.5.2</version>
 </dependency>
     
 <dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
     <version>5.1.47</version>
 </dependency>

 

2.2、创建模块

  • 编写mybatis核心配置文件

    • 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>
       <environments default="development">
         <environment id="development">
           <transactionManager type="JDBC"/>
           <dataSource type="POOLED">
             <property name="driver" value="${driver}"/>
             <property name="url" value="${url}"/>
             <property name="username" value="${username}"/>
             <property name="password" value="${password}"/>
           </dataSource>
         </environment>
       </environments>
       <mappers>
         <mapper resource="org/mybatis/example/BlogMapper.xml"/>
       </mappers>
     </configuration>

     

  • 编写mybatis工具类

 //sqlSessionFactory-->sqlsession
 public class MybatisUntils {
     private static SqlSessionFactory sqlSessionFactory =null;
 
     static {
         String resource = "org/mybatis/example/mybatis-config.xml";
         InputStream inputStream = null;
         try {
             inputStream = Resources.getResourceAsStream(resource);
             sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
             e.printStackTrace();
        }
    }
     public static SqlSession getSqlsession(){
         return sqlSessionFactory.openSession();
    }
 }
  • 创建实体类

 

 package com.demo.pojo;
 
 public class User {
     private int id;
     private String name;
     private String pwd;
 
     @Override
     public String toString() {
         return "User{" +
                 "id=" + id +
                 ", name='" + name + '\'' +
                 ", pwd='" + pwd + '\'' +
                 '}';
    }
 
     public User() {
    }
 
     public User(int id, String name, String pwd) {
         this.id = id;
         this.name = name;
         this.pwd = pwd;
    }
 
     public int getId() {
         return id;
    }
 
     public void setId(int id) {
         this.id = id;
    }
 
     public String getName() {
         return name;
    }
 
     public void setName(String name) {
         this.name = name;
    }
 
     public String getPwd() {
         return pwd;
    }
 
     public void setPwd(String pwd) {
         this.pwd = pwd;
    }
 }
 

 

  • 创建Dao

 package com.demo.dao;
 
 import com.demo.pojo.User;
 
 import java.util.List;
 
 public interface UserDao {
     List<User> getUser();
     User getUserById(int id);
 
     int addUser(User user);
 
     int updateById(User user);
 }
 

 

  • 创建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">
 
 <mapper namespace="com.demo.dao.UserDao">
     <select id="getUser" resultType="com.demo.pojo.User">
         SELECT * FROM user;
     </select>
     <select id="getUserById" parameterType="int" resultType="com.demo.pojo.User">
         select * from user
         where id =#{id};
     </select>
     <insert id="addUser" parameterType="com.demo.pojo.User">
         insert into user(id,name ,pwd)
         values (#{id},#{name},#{pwd});
     </insert>
     <update id="updateById" parameterType="com.demo.pojo.User">
         update user set name=#{name},pwd=#{pwd} where id=#{id};
     </update>
 </mapper>

 

  • 编写测试类测试

 package com.demo;
 
 import com.demo.dao.UserDao;
 import com.demo.pojo.User;
 import com.demo.untils.MybatisUntils;
 import org.apache.ibatis.session.SqlSession;
 
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 public class UserDaoTest {
     public static void main(String[] args) {
         update();
    }
     public static void test01(){
         SqlSession sqlsession = MybatisUntils.getSqlsession();
         UserDao mapper = sqlsession.getMapper(UserDao.class);
         List<User> user = mapper.getUser();
         for (User user1 : user) {
             System.out.println(user1);
        }
    }
     public static void  test02(){
         SqlSession sqlsession = MybatisUntils.getSqlsession();
         UserDao mapper = sqlsession.getMapper(UserDao.class);
         User userById = mapper.getUserById(1);
         System.out.println(userById);
    }
     public static void add(){
         SqlSession sqlsession = MybatisUntils.getSqlsession();
         UserDao mapper = sqlsession.getMapper(UserDao.class);
         int i = mapper.addUser(new User(4,"liliu","q231"));
         sqlsession.commit();
         System.out.println(i);
         sqlsession.close();
    }
     public static void update(){
         SqlSession sqlsession = MybatisUntils.getSqlsession();
         UserDao mapper = sqlsession.getMapper(UserDao.class);
         int i = mapper.updateById(new User(3, "weq123", "w123"));
         System.out.println(i);
         sqlsession.commit();
         sqlsession.close();
    }
 }
 

 

posted @ 2020-09-15 15:37  苏木王子  阅读(196)  评论(0)    收藏  举报