乐趣区

关于java:MyBatis下载与配置

MyBatis 简介

MyBatis 是一款优良的长久层框架,它反对定制化 SQL、存储过程以及高级映射。MyBatis 防止了简直所有的 JDBC 代码和手动设置参数以及获取后果集。MyBatis 能够应用简略的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object, 一般的 Java 对象) 映射成数据库中的记录。(来源于百度百科)

简略的说就是 MyBatis 代替原生 JDBC 的写法,缩小了代码的冗余以及连贯的性能问题,使得咱们用起来更加简略,运行起来也更快。(具体是为什么有代码的冗余以及连贯性能的问题,能够看我其余的文章,有写过对这一部分的粗略的封装步骤)

应用的环境

JDK 版本:1.8
编译器:Intelli IDEA 2019
MyBatis 版本:3.5.3

MyBatis 的下载与配置

  1. 下载 jar 包
    1)关上 https://mybatis.org/mybatis-3/
    2)点击 project’s Git

    3)跳转到该项目标根门路

    4)拖到网页最上面,点击 download Lastest

    5)找到绝对应的版本,点击 Assert 下的 mybatis.zip(我下载的是 mybatis3.5.3)
  2. Jar 包下载实现之后
    1)创立一个 Java 我的项目
    2)在我的项目的根门路下创立一个 lib 文件夹,把 mybatis 的 jar 放入
    3)点击 File–>project structure–>Libraries–>+ 号

    4)找到并选中以后我的项目的 lib 文件夹下的 jar 包,点击 apply—>OK,jar 导入实现
    5)除了导入 mybatisjar,还要导入 jdbc 的 jar 包(导入步骤雷同,jar 包的话得本人去下载)
    6)创立一个 User 类,这个类是对应数据库中的 User 表,代码如下:(大家依据本人理论的数据库中的表去建设这个实体类)

    package domain;
    
    public class User {
    
        private String account;
        private String password;
        private Float balance;
    
        public User(){}
    
        public User(String account, String password, Float balance) {
            this.account = account;
            this.password = password;
            this.balance = balance;
        }
    
        public String getAccount() {return account;}
    
        public void setAccount(String account) {this.account = account;}
    
        public String getPassword() {return password;}
    
        public void setPassword(String password) {this.password = password;}
    
        public Float getBalance() {return balance;}
    
        public void setBalance(Float balance) {this.balance = balance;}
    }
    

    7)创立一个 UserDao 类,这个类是对 User 表进行增删改查的操作,这里咱们测试 insert 的 SQL 语句,代码如下

    package dao;
    
    import domain.User;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    
    import java.io.InputStream;
    
    public class UserDao {public void insert(User user){
            //MYBATIS 操作流程
            // 获取工厂 Builder 对象
            SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
            // 获取 configuration.xml 配置文件的输出流
            InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("configuration.xml");
            //builder 依据 is 获取 SqlSessionFactory 工厂对象
            SqlSessionFactory factory = builder.build(is);
            // 获取 SqlSession 对象
            SqlSession sqlSession = factory.openSession();
            // 执行 sql 语句操作
            // 这个 "insert" 与 UserMapper.xml 中的 insert 标签的 id 属性统一,user 是咱们要插入的数据
            sqlSession.insert("insert", user);
    
            //SqlSession 对象默认是手动提交事物,所以得调用 commit() 办法提交,否则插入不算胜利
            // 如果想改为主动提交的话,在调用 openSession() 办法中传入 true 参数
            sqlSession.commit();}
    }

    8)在 src 目录下创立一个 configuration.xml 文件,并在该文件中应用如下代码

    *  transactionManager 示意的是数据库连贯治理的形式,这里咱们用的 JDBC
    *  dataSource 示意的是是否须要用到连接池
    *  property 示意的连贯数据库要用到的一些参数
        *  driver 示意数据库驱动包,我这里用的 8.0 版本 jdbc
        *  url 示意的是数据库的地址
        *  username 是拜访数据库时用到的用户名
        *  password 是明码
    *  mapper 标签示意的是与寄存 sql 语句的 mapper.xml 文件的映射关系,rsource 属性示意 mapper.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="e1">
        <environment id="e1">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/bank?serverTimezone=CST"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="mapper/UserMapper.xml">       </mapper>
    </mappers>
</configuration>

9)在 src 目录下创立一个 mapper 文件夹,在文件夹下创立一个 UserMapper.xml 文件,文件内容如下:*  该文件是为了存储 UserDao 类中执行时须要用到的所有 Sql 语句
    *  这里用了 insert 语句标签
    *  之前咱们用原生的 jdbc 对数据库进行增删改查的时候,对于参数咱们用的是? 来示意,这里咱们须要用 #{} 来代替,并且#{} 两头寄存的数据对应的名字,这个名字须要和 User 实体类的属性名统一
```
<?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="dao.UserDao">
    <insert id="insert">
        INSERT ATM VALUES(#{account}, #{password}, #{balance})
    </insert>
</mapper>
```
10)在 Main 函数里写入如下代码并执行
```
import dao.UserDao;
import domain.User;
import service.UserService;

public class TestMain {public static void main(String[] args) {UserDao dao = new UserDao();
        dao.insert(new User("1012","123",12f));
    }
}
```

执行完之后应该是可能在数据库中查找到插入的数据,如果有什么不明确的中央或者哪个中央有谬误,也欢送大家私信我,这里只是演示一下大略的流程,之后还会写一些更为具体的应用的文章!!!

退出移动版