MyBatis

您所在的位置:网站首页 idea导入maven项目并配置 MyBatis

MyBatis

2023-11-05 12:24| 来源: 网络整理| 查看: 265

文章目录:

1.准备数据表(Navicat)

2.通过Maven创建项目(IDEA)

3.在pom.xml文件中加入相关的Maven依赖坐标

4.编写Student实体类、StudentDao接口

5.编写StudentDao.xml文件(mapper映射文件)

6.编写MyBatis.xml主配置文件 

7.编写MyTest测试类 

8.框架搭建成功,正常运行结果 

9.总结大体的步骤

1.准备数据表(Navicat)

2.通过Maven创建项目(IDEA)

那么用Maven搭建的MyBatis大框架就是上图的样式。

下面对项目进行一些特定的配置设置:👇👇👇

3.在pom.xml文件中加入相关的Maven依赖坐标 4.0.0 com.bjpowernode ch01-first 1.0 UTF-8 14 14 org.mybatis mybatis 3.5.1 mysql mysql-connector-java 5.1.9 junit junit 4.11 test src/main/java **/*.properties **/*.xml false

这里给出修改后的xml文件,注释已经写的很详细了!!!

我在代码的 标签上方写了注释:依赖列表。也就是说我们需要在这里面添加需要用到的架包的坐标。

其中包括 MyBatis 依赖、MySQL驱动、junit测试,而在 标签中添加的是  标签(作用已写在注释中)

4.编写Student实体类、StudentDao接口

package com.bjpowernode.entity; /** * */ public class Student { //属性名和列名一样 private Integer id; private String name; private String email; private Integer age; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public String toString() { return "学生实体的信息{" + "id=" + id + ", name='" + name + '\'' + ", email='" + email + '\'' + ", age=" + age + '}'; } } package com.bjpowernode.dao; import com.bjpowernode.entity.Student; /** * */ public interface StudentDao { //查询一个学生 Student selectStudentById(Integer id); } 5.编写StudentDao.xml文件(mapper映射文件)

select id,name,email,age from student where id=#{studentId}

这里给出修改后的xml文件,注释已经写的很详细了!!!

标签中就是我们要执行的 sql 语句,这里注意 namespace、id、resultType 的含义及设置!!!

6.编写MyBatis.xml主配置文件 

在src/main目录下,我们要新建一个 resources 目录,然后右键单击 resources → Mark Directory as → Resources Root。将此文件夹的类型修改为 Resources Root,之后在这个目录下创建一个 File,名为 MyBatis.xml。

这里给出修改后的xml文件,注释已经写的很详细了!!!

7.编写MyTest测试类 

package com.bjpowernode; import com.bjpowernode.entity.Student; 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.Test; import java.io.IOException; import java.io.InputStream; /** * */ public class MyTest { //测试MyBatis执行sql语句 @Test public void testSelectStudentById() throws IOException { //调用MyBatis某个对象的方法,执行mapper文件中的sql语句 //MyBatis核心类:SqlSessionFactory //1.定义MyBatis主配置文件的位置,从类路径开始的相对路径 String config="mybatis.xml"; //2.读取主配置文件,使用MyBatis框架中的Resources类 InputStream inputStream=Resources.getResourceAsStream(config); //3.创建SqlSessionFactory对象,使用SqlSessionFactoryBuilder类 SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(inputStream); //4.获取SqlSession对象 SqlSession session=factory.openSession(); //5.指定要执行的sql语句的id // sql的 id = namespace + "." + select|update|insert|delete标签的id属性值 String sqlId="com.bjpowernode.dao.StudentDao" + "." + "selectStudentById"; //6.通过SqlSessionde的方法,执行sql语句 Student student=session.selectOne(sqlId,1001); System.out.println("使用MyBatis查询一个学生:" + student); //7.关闭SqlSession对象 session.close(); } }

每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration 实例来构建出 SqlSessionFactory 实例。

从 XML 文件中构建 SqlSessionFactory 的实例非常简单,建议使用类路径下的资源文件进行配置。 但也可以使用任意的输入流(InputStream)实例,比如用文件路径字符串或 file:// URL 构造的输入流。MyBatis 包含一个名叫 Resources 的工具类,它包含一些实用方法,使得从类路径或其它位置加载资源文件更加容易。

8.框架搭建成功,正常运行结果 

9.总结大体的步骤 创建 student 表(id,name,email,age)。新建 Maven 项目。 修改 pom.xml 。

  1)加入Maven依赖:MyBatis依赖、MySQL驱动、junit

  2)在 中加入资源插件

创建实体类 Student,定义属性(属性名和列名保持一致)。创建 Dao 接口,定义操作数据库的方法。创建 StudentDao.xml(mapper文件),写sql语句。

1)MyBatis框架推荐是把 Java 代码和 sql 语句分开

2)mapper文件:定义在和 Dao接口同一个目录下,一个表一个mapper文件

创建 MyBatis.xml 文件,放在 resources 目录下。

1)定义创建连接实例的数据源(DataSource)对象

2)指定其他 mapper 文件的位置

创建测试类

1)可以使用 main 方法,测试访问数据库。

2)也可以使用 junit 访问数据库。

相关的xml文件参考网址:https://mybatis.org/mybatis-3/zh/index.html 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3