#第一次学习Myatis学习

第一次学习MyBatis学习

  1. 创建testdb数据库并添加t_user表和其数据
    在这里插入图片描述

  2. 创建Meven项目
    在这里插入图片描述

  3. 在pom.xml文件中导入所需依赖
    在这里插入图片描述

package net.olj.mybatis.bean;

public class User {
   private int id;
   private String name;
   private int age;
   private String address;

   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 int getAge() {
       return age;
   }

   public void setAge(int age) {
       this.age = age;
   }

   public String getAddress() {
       return address;
   }

   public void setAddress(String address) {
       this.address = address;
   }

   @Override
   public String toString() {
       return "User{" +
               "id=" + id +
               ", name='" + name + '\'' +
               ", age=" + age +
               ", address='" + address + '\'' +
               '}';
   }

}

  1. 在java包下再创建一个文件夹并创建User类
    在这里插入图片描述
package net.olj.mybatis.bean;

public class User {
    private int id;
    private String name;
    private int age;
    private String address;

    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 int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", address='" + address + '\'' +
                '}';
    }

}

  1. 在resources下面新建配置文件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>
       <typeAlias type="net.olj.mybatis.bean.User" alias="User"/>
   </typeAliases>

   <environments default="development">
       <environment id="development">
           <transactionManager type="JDBC"/>
           <dataSource type="POOLED">
               <property name="driver" value="com.mysql.jdbc.Driver"/>
               <property name="url" value="jdbc:mysql://localhost:3306/testdb"/>
               <property name="username" value="root"/>
               <property name="password" value="p@ssw0rd"/>
           </dataSource>
       </environment>
   </environments>

   <!--配置实体关系映射器文件-->
   <mappers>
       <mapper resource="mapper/UserMapper.xml"/>
   </mappers>
</configuration>

  1. 在resources下面新建 log4j.properties日志属性文件
    在这里插入图片描述
	log4j.rootLogger=WARN, stdout, logfile
	log4j.appender.stdout=org.apache.log4j.ConsoleAppender
	log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
	log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
	log4j.appender.logfile=org.apache.log4j.FileAppender
	log4j.appender.logfile.file=target/mybatis.log
	log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
	log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
  1. 新建目录mapper 在下面创建mybatis配置文件
    在这里插入图片描述
<?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="net.olj.mybatis.mapper.UserMapper">
    <select id="findById" parameterType="int" resultType="User">
        SELECT * FROM t_user WHERE id = #{id};
    </select>
    <select id="findAll" resultType="User">
        SELECT * FROM t_user;
    </select>
</mapper>
  1. 创建TestUserOperation测试类
package net.olj.mybatis.bean;

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.Reader;
import java.util.List;

public class TestUserOperation {

   private SqlSession sqlSession; // SQL会话

   @Before
   public void init() {
       try {
           // 读取MyBatis配置文件
           Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
           // 基于MyBatis配置文件构建SQL会话工厂
           SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
           // 利用SQL会话工厂获取SQL会话
           sqlSession = factory.openSession();
           // 提示用户SQL会话创建成功
           System.out.println("sqlSession对象已创建。");
       } catch (IOException e) {
           e.printStackTrace();
       }
   }

   @Test
   public void testFindById() {
       int id = 1;
       User user = sqlSession.selectOne("net.olj.mybatis.mapper.UserMapper.findById", id);
       if (user != null) {
           System.out.println(user);
       } else {
           System.out.println("编号为[" + id + "]的用户未找到。");
       }
   }

   @Test
   public void testFindAll() {
       List<User> users = sqlSession.selectList("net.olj.mybatis.mapper.UserMapper.findAll");
       for (User user : users) {
           System.out.println(user);
       }
   }

   @After
   public void destroy() {
       // 关闭SQL会话
       sqlSession.close();
       // 提示用户SQL会话对象关闭
       System.out.println("sqlSession对象已关闭。");
   }
}
  1. 最终结果
    1. FindById测试结果
      在这里插入图片描述
      2.FindAll测试结果
      在这里插入图片描述
已标记关键词 清除标记
相关推荐
<p> <b><span style="font-size:14px;"></span><span style="font-size:14px;background-color:#FFE500;">【Java面试宝典】</span></b><br /> <span style="font-size:14px;">1、68讲视频课,500道大厂Java常见面试题+100个Java面试技巧与答题公式+10万字核心知识解析+授课老师1对1面试指导+无限次回放</span><br /> <span style="font-size:14px;">2、这门课程基于胡书敏老师8年Java面试经验,调研近百家互联网公司及面试官的问题打造而成,从筛选简历和面试官角度,给出能帮助候选人能面试成功的面试技巧。</span><br /> <span style="font-size:14px;">3、通过学习这门课程,你能系统掌握Java核心、数据库、Java框架、分布式组件、Java简历准备、面试实战技巧等面试必考知识点。</span><br /> <span style="font-size:14px;">4、知识点+项目经验案例,每一个都能做为面试的作品展现。</span><br /> <span style="font-size:14px;">5、本课程已经在线下的培训课程中经过实际检验,老师每次培训结束后,都能帮助同学们运用面试技巧,成功找到更好的工作。</span><br /> <br /> <span style="font-size:14px;background-color:#FFE500;"><b>【超人气讲师】</b></span><br /> <span style="font-size:14px;">胡书敏 | 10年大厂工作经验,8年Java面试官经验,5年线下Java职业培训经验,5年架构师经验</span><br /> <br /> <span style="font-size:14px;background-color:#FFE500;"><b>【报名须知】</b></span><br /> <span style="font-size:14px;">上课模式是什么?</span><br /> <span style="font-size:14px;">课程采取录播模式,课程永久有效,可无限次观看</span><br /> <span style="font-size:14px;">课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化</span><br /> <br /> <br /> <span style="font-size:14px;background-color:#FFE500;"><strong>如何开始学习?</strong></span><br /> <span style="font-size:14px;">PC端:报名成功后可以直接进入课程学习</span><br /> <span style="font-size:14px;">移动端:<span style="font-family:Helvetica;font-size:14px;background-color:#FFFFFF;">CSDN 学院APP(注意不是CSDN APP哦)</span></span> </p>
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页