maven mybatis_MyBatis——搭建第一个MyBatis

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

在学习Maven之前最好先去复习一下JDBC、Mysql、JAVA基础、Junit和Maven知识。

首先,我们先在IDEA新建一个MAVEN的普通项目并在pom.xml文件内导入相关所需要的jar包。(等待导入的过程中最好去确认下setting->Build,Execution->Build Tools->Maven里使用的版本是不是自己下载安装的版本)

<dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.4</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.46</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>
    </dependencies>

我们再新建一个子module-MyBatis-01创建项目便于后期的维护。因为每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的,所以采用XML 中构建SqlSessionFactory。先创建XML文件里面包含了对 MyBatis 系统的核心设置,包括获取数据库连接实例的数据源(DataSource)以及决定事务作用域和控制方式的事务管理器。

7c63b9aa7a25fa0d24b0d9508d22ff0d.png

XML 头部的声明,它用来验证 XML 文档的正确性。environment 元素体中包含了事务管理和连接池的配置。mappers 元素则包含了一组映射器(mapper),这些映射器的 XML 映射文件包含了 SQL 代码和映射定义信息。为了避免产生乱码问题,在url后缀加上useUnicode=true&amp;characterEncoding=UTF-8"。

SqlSessionFactoryBuilder这个类可以被实例化、使用和丢弃,一单创建sqlSessionFactory就不再需要它; SqlSessionFactory它一旦被创建就在应用运行期间一直存在;SqlSession每个线程都有一个,但不是线程安全的。即每收到一个Http请求就会打开一个Session,返回一个响应就关闭它。一定要记得Finnaly块进行关闭操作!

然后通过Resources 的工具类从类路径位置加载资源文件构建出 SqlSessionFactory 实例。

 String resource;
    InputStream inputStream;
    {
        try {
            //使用MyBatis获取sqlSessionFactory对象
            resource = "org/mybatis/example/mybatis-config.xml";
            inputStream = Resources.getResourceAsStream(resource);
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }



 public  static SqlSession getSessin(){
        //这样就可以从sqlSessionFactory中获得sqlSession实例
        //它包含了面向数据库执行执行所有sql语句的方法
        SqlSession sqlSession = sqlSessionFactory.openSession();
        return sqlSession;
    }

紧接着我们要建数据库、建实体类,具体步骤我就一笔带过啦!

定义Dao层的包,并实现XML文件相当于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="com.dao.UserDao">  //命名空间绑定接口类的路径
//select查询语句
    <select id="getUser" resultType="User">  //id为重写的方法名 resultType为方法返回类型
    select * from mybatis.user;              //查找mbatis数据库的user表
  </select>
</mapper>

然后要mapper注册,在mybatis-config.xml添加实现UserDao的xml文件的映射关系(这就类似于要在web.xml里面配置Servlet映射)。

  <mappers>
        <mapper resource="com/dao/UserMapper.xml"/>
  </mappers>
</configuration>

运行是出现了这个错误...

78cbf4cfc99f52961138dd659d0deb20.png

在Project Structure里面修改了

257f1b005c5bdf832463e2e7a26a0d39.png

project setting里修改了

6a8b9057a2701a74bedf7e35f17989e3.png

Seetting ->Build->Java compiler里面修改

cc5cefa72cb57eb55e3db8c44cf74dc6.png

再不行就修改pom.xml文件

 <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
        <java.version>11</java.version>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties> 

这样应该就可以了(注意! 最好是修改父module的pom.xml上或者全部pom.xml都修改),然后配置项目文件的导出。

回顾过程:

1.导入mybatis和mysql的jar包

2.创建mybatis-config.xml配置数据库文件,创建MyBatisUtils工具类加载初始化xml文件

3.写实体类和接口,写接口的实现类XML文件,绑定标签、方法和返回类型,编写sql语句

4.写test测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值