1.打开idea,依次点击左上角的File->New->project

2.选择Maven,然后点击Next

3.通过点击这个文件夹进行文件存放地址的改变,然后输入项目的名字

4.再点击Finish,Maven项目就创建好了

5.然后在pom.xml文件中加入Mybatis相关依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>MybatisDays01</artifactId>
<version>1.0-SNAPSHOT</version>
//以下为依赖
<dependencies>
<!-- mysql连接 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
<!-- 开启日志 -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.3.0-alpha14</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.3.0-alpha14</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>1.3.0-alpha14</version>
</dependency>
<!-- 小辣椒 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
<scope>provided</scope>
</dependency>
<!-- 测试依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
<scope>test</scope>
</dependency>
<!-- mybatis依赖 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
</dependencies>
</project>
6.添加好相应依赖后,点击刷新进行相关依赖的下载

下载好后,按以下图示步骤查看依赖是否下载成功

7.配置 XML文件,我的XML文件为mybatis-config.xml, XML文件配置不唯一,可以参考Mybais官网进行配置
<?xml version="1.0" encoding="UTF-8" ?>
<!--mybatis 官方約定该文件必须包含哪标签,不能超过官方提供标签的范围-->
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 设置 mybatis的一些行为;开启mybatis为我们提供的一些强大的功能-->
<settings>
<!-- 开启日志功能 -->
<setting name="logImpl" value="SLF4J"/>
<!-- 驼峰命名映射 -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
<!-- 配置数据库的连接-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<!-- 数据库驱动 -->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<!-- 数据库名称,mysql时区设置 -->
<property name="url" value="jdbc:mysql://localhost:3306/java2215?serverTimezone=Asia/Shanghai"/>
<!-- 用户名 -->
<property name="username" value="root"/>
<!-- 密码 -->
<property name="password" value="135212"/>
</dataSource>
</environment>
</environments>
<!--核心配置文件关联 sql 映射文件-->
<mappers>
</mappers>
</configuration
8.配置完成,利用Mybatis对部门表进行增删改查(CRUD)
1.首先新建包

包的命名要规范
然后再bean包下新建Departments类,类名首字母大写,要规范

数据库中的部门表相应字段

package com.baqn.bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author NXX
* @version 1.0
* @date 2022/7/30 8:41
*/
/*
@Data
@AllArgsConstructor
@NoArgsConstructor
是小辣椒的相应功能,其中@Data就相当于,getter,setter,toString,
@AllArgsConstructor有参构造方法
@NoArgsConstructor无参构造方法
通过小辣椒,可以减少代码量
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Departments {
//将数据库中的字段和所建的类的字段要一一对应,其中dept_code要写成驼峰命名形式,因为在XML文件中已开启驼峰命名形式
private String deptCode;
private String name;
}
2.然后新建一个包(dao),在dao包下新建DepartmentsDao接口

package com.baqn.dao;
import com.baqn.bean.Departments;
/**
* @author NXX
* @version 1.0
* @date 2022/7/26 18:47
*/
public interface DepartmentsDao {
//获取部门表所有数据方法,由于有多条数据,所以使用集合
List<Departments> getDeptList();
}
3.在resourse包下新建一个mapper包,在mapper中新建DepaermentMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!--sql映射文件:约束 sql映射相关的标签 -->
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- namespace 和 dao层的相关接口的全限定名保持一致即可-->
<mapper namespace="com.baqn.dao.DepartmentsDao" >
<!-- Departments getDeptList(); id中的值为dao层定义的方法名,查询语句需要一个返回类型-->
<select id="getDeptList" resultType="com.baqn.bean.Departments">
SELECT
*
FROM
l_departments
</select>
</mapper>
3.在mybatis-config.xml的中加入

4.在test包下新建包,类,进行查询部门表数据所有数据测试

package com.bdqn.bean;
import com.baqn.bean.Departments;
import com.baqn.dao.DepartmentsDao;
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.Before;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
/**
* @author NXX
* @version 1.0
* @date 2022/7/30 9:35
*/
public class DepartmentTest {
private SqlSessionFactory sqlSessionFactory;
//@Before注解用于每次代码运行都会先执行该注解下的代码
@Before
public void initSqlSessionFactory() throws IOException {
//核心配置文件的路径
String resource = "mybatis-config.xml";
//通过流的方式读取核心配置文件
InputStream inputStream = Resources.getResourceAsStream(resource);
//构建一个建造者
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
//通过建造者,最终创建生产工厂
sqlSessionFactory = builder.build(inputStream);
}
// 在方法上加上 @Test就可以单独运行该注解下的代码
// @Before, @Test都是junit中的注解
@Test
public void getDeptList(){
SqlSession sqlSession = sqlSessionFactory.openSession();
//获得DepartmentsDao的代理对象,此处用到动态代理
DepartmentsDao mapper = sqlSession.getMapper(DepartmentsDao.class);
//通过代理对象调用getDeptList()方法,获得部门集合
List<Departments> deptList = mapper.getDeptList();
//
for (int i = 0; i < deptList.size(); i++) {
System.out.println(deptList.get(i));
}
//lambda表达式
// deptList.forEach(x-> System.out.println(x));
}
}
5.运行结果:


3006

被折叠的 条评论
为什么被折叠?



