mybatis简介&jar包下载&创建项目&第一个mybatis例子

Mabatis入门

mybatis官方文档地址:https://mybatis.org/mybatis-3/zh/getting-started.html.

  • mybatis是一种持久性框架,持久性框架的意思就是用来操作数据库的。
  • MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。

创建项目

  1. 首先需要创建一个带有web服务器的项目
  2. 然后将用到的jar包引入web文件夹下的WEB-INF/lib(lib文件夹需要自己创建)下。mybatis简介&jar包下载&创建项目&第一个mybatis例子_第1张图片
    -至于这里为什么需要放在WEB-INF下, 这位大佬解释的很明白https://my.oschina.net/wuweixiang/blog/1799741

安装

  1. 首先需要将mybatis的jar导入自己的项目当中
    mybatis的jar包下载地址:https://github.com/mybatis/mybatis-3/releases 需要下载mybatis-xxx.zip 和 下面的Source.code.zip 两个压缩包
  • 本人使用的是mybatis-3.5.4 和 对应的source
  • 引入mybatis-3.5.4/lib/log4j-1.2.17.jar的作用是在项目运行时能看到对应的sql语句
  1. 在src下创建名为log4j的Resour Bundle配置文件,然后将下面的内容粘贴进去:
    log4j.rootLogger=DEBUG,Console
    log4j.appender.Console=org.apache.log4j.ConsoleAppender
    log4j.appender.Console.layout=org.apache.log4j.PatternLayout
    log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
    log4j.logger.org.apache=INFO
  2. 创建包
    mybatis简介&jar包下载&创建项目&第一个mybatis例子_第2张图片
  • 引入主配值和子配置文件,按着图中路径找
    mybatis简介&jar包下载&创建项目&第一个mybatis例子_第3张图片

  • 修改成如图所示
    mybatis简介&jar包下载&创建项目&第一个mybatis例子_第4张图片

  • 修改主配置文件和数据库连接mybatis简介&jar包下载&创建项目&第一个mybatis例子_第5张图片

从 XML 中构建 SqlSessionFactory

在util包下创建新的类

package com.csdn.util;

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 java.io.IOException;
import java.io.InputStream;

/**
 * @ClassName DBUtil
 * @Description TODO 与数据库进行连接
 * @Author sudi
 * @Date 2020/5/2 13:50
 */
public class DBUtil {
    public SqlSession getSqlSession() throws IOException {
        //读取主配置文件
        InputStream inputStream = Resources.getResourceAsStream("com/csdn/config/Configuration.xml");
        //通过配置信息构建SqlSessionFactory
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        //通过SqlSessionFactory打开数据库会话
        return sqlSessionFactory.openSession();
    }
}

  • 实现第一个dao方法
    子配置文件:
<?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="User">
<!--    id = #{} 括号中放啥都行 , 不可以不放-->
<delete id="deleteById">
    delete from t_person where id = #{id}
</delete>
</mapper>

主配置文件:

<?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">
                <property name="" value=""/>
            </transactionManager>
            <dataSource type="UNPOOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/jdbc201910"/>
                <property name="username" value="root"/>
                <property name="password" value="sudi"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
<!--        <mapper resource="org/apache/ibatis/submitted/complex_property/User.xml"/>-->
//与子配置文件关联
        <mapper resource="com/csdn/config/sql/User.xml"/>
    </mappers>

</configuration>

dao包中创建实现类

package com.csdn.dao;

import com.csdn.util.DBUtil;
import org.apache.ibatis.session.SqlSession;

import java.io.IOException;

/**
 * @ClassName
 * @Description TODO
 * @Author sudi
 * @Date 2020/5/2 14:09
 */
public class UserDao {
    public void deleteUserById(int id) throws IOException {
        SqlSession sqlSession = null;
        try {
            sqlSession = new DBUtil().getSqlSession();
            //delete方法中的第一个参数字符串是和子配置文件中的id对应
            //第二个参数是子配置文件中的#{},id会将其覆盖。
            sqlSession.delete("deleteByid", id);
            sqlSession.commit();
        } finally {
            if (sqlSession != null) {
                sqlSession.close();
            }
        }
    }

    public static void main(String[] args) throws IOException {
        UserDao userDao = new UserDao();
        userDao.deleteUserById(1);
    }
}

至此就实现了通过mybatis对数据库进行的第一次的操作
mybatis简介&jar包下载&创建项目&第一个mybatis例子_第6张图片

你可能感兴趣的:(mybatis学习笔记)