• 125722

    文章

  • 803

    评论

  • 12

    友链

  • 最近新加了换肤功能,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

创建myBatis项目

服了这份高薪指南,涨多少你说了算>>

1、简介

1.1、核心组件

  • SqlSessionFactoryBuilder(构造器):根据配置信息或者代码生成SqlSessionFactory
  • SqlSessionFactory(工厂接口):依靠工厂来生成SqlSession(会话)
  • SqlSession(会话): 是一个既可以发送SQL去执行返回结果,也可以获取Mapper接口
  • SQL Mapper:是MyBatis新设计的组件,由java接口和XML文件(或者注解)构成,需要给出对应的SQL和映射规则,负责发送SQL去执行并返回结果。

1.2、组件之间的关系:

1.3、myBatis如何获取:

1、maven仓库

2、Github

3、中文文档

2、创建项目

2.1、数据库创建

  • 创建数据库:user表
 create table user(
    -> id int(20) not null primary key,
    -> name varchar(30) default null,
    -> pwd varchar(30) default null);
Query OK, 0 rows affected (0.02 sec)


mysql> insert into user(id,name,pwd) values(1,"张三",123456);
Query OK, 1 row affected (0.01 sec)

mysql> insert into user(id,name,pwd) values(2,"李四",123456);
Query OK, 1 row affected (0.00 sec)

mysql> insert into user(id,name,pwd) values(3,"王五",123456);
Query OK, 1 row affected (0.01 sec)
  • 创建普通Maven项目
  • 删除src文件夹
  • 导入依赖

2.2、创建子模块

2.2.1、编写Mybatis的核心配置文件

<?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核心配置文件-->
<configuration>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value=""/>
            </dataSource>
        </environment>
    </environments>

</configuration>

2.2.2、编写myBatis的工具类


//sqlSessionFactory------>sqlSession
public class MybatisUtils {

    private static SqlSessionFactory sqlSessionFactory;
    static {
        try {
            //使用mybatis第一步获取sqlSessionFactory对象
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
           sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        }catch (IOException e){
            e.printStackTrace();
        }
    }
    //SqlSession完全包含了面向数据库执行Sql命令的所有方法
    public  static SqlSession getSqlSession(){
//        SqlSession sqlSession = sqlSessionFactory.openSession();
//        return sqlSession;
        return sqlSessionFactory.openSession();
    }

}

2.3、编写代码

  • 实体类

    package com.malajava.pojo;
    
    public class User {
    
        private int id;
        private String name;
        private String pwd;
    
        public User(int id, String name, String pwd) {
            this.id = id;
            this.name = name;
            this.pwd = pwd;
        }
    
        public User() {
        }
    
        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;
        }
    
        @Override
        public String toString() {
            return "User{" +
                    "id=" + id +
                    ", name='" + name + '\'' +
                    ", pwd='" + pwd + '\'' +
                    '}';
        }
    }
    
    
  • Dao接口

    package com.malajava.dao;
    
    import com.malajava.pojo.User;
    
    import java.util.List;
    
    public interface UserDao {
    
        List<User> getUserList();
    }
    
    
  • 接口实现类

    由原来的UserDaoImpl转变成了一个Mapper配置文件

    <?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">
    <!--namespace=綁定一個對應的Dao或者mapper接口-->
    <mapper namespace="com.malajava.dao.UserDao">
        <!--查询语句 resultType为全限定名称-->
        <select id="getUserList" resultType="com.malajava.pojo.User">
            select * from mybatis.user
        </select>
    </mapper>
    

2.4、测试

package com.malajava.dao;
import com.malajava.pojo.User;
import com.malajava.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import java.util.List;
public class UserDaoTest {
    @Test
    public void test(){

        //第一步:获得sqlSession对象
        SqlSession sqlSession = MybatisUtils.getSqlSession();

        //执行Sql语句
        UserDao userDao = sqlSession.getMapper(UserDao.class);
        List<User> userList = userDao.getUserList();
        for (User user: userList) {
            System.out.println(user);
        }
        sqlSession.close();
    }
}


695856371Web网页设计师②群 | 喜欢本站的朋友可以收藏本站,或者加入我们大家一起来交流技术!

0条评论

Loading...


自定义皮肤 主体内容背景
打开支付宝扫码付款购买视频教程
遇到问题联系客服QQ:419400980
注册梁钟霖个人博客