IDEA 搭建MyBatis环境

tech2026-08-17  0

 一、准备工作

       数据库:MySQL   管理工具 Navicat  for MySql管理工具

       开发工具:Idea 2018.3    

       服务器:TOMCAT        Maven依赖管理

       语言: JDK 14

二、创建环境 

 

三、文件配置

  1)依赖文件pom.xml    Maven配置

<?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>com.test.Mybatis_01</groupId> <artifactId>Mybatis_01</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <!--mybatis jar包资源依赖--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5</version> </dependency> <!--MySQL 数据库驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>6.0.6</version> </dependency> <!--通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.6</version> <scope>provided</scope> </dependency> </dependencies> </project>

 2 ) 创建数据库 

3 )创建实体类

package entity; public class User { private Integer id; private String username; private String password; public User() { } public User(Integer id, String username, String password) { this.id = id; this.username = username; this.password = password; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }

4 )创建Mybatis接口映射文件   UserMapper.java

package dao; import entity.User; public interface UserMapper { void saveUser(User user); User getUser(Integer id); }

5 ) 创建测试类   TestMyBatis.java

package test; import dao.UserMapper; import entity.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 TestMybatis { public static void main(String[] args) { /*加载Mybatis配置文件*/ InputStream is=TestMybatis.class.getClassLoader().getResourceAsStream("mybatisConfig.xml"); SqlSessionFactoryBuilder sqlSessionFactoryBuilder=new SqlSessionFactoryBuilder(); SqlSessionFactory factory=sqlSessionFactoryBuilder.build(is); System.out.println("mybatis"); SqlSession sqlSession=factory.openSession(); String s="dao.UserMapper.saveUser"; User user=new User(1,"张三11","123123"); UserMapper mapper = sqlSession.getMapper(UserMapper.class); mapper.saveUser(user); User user1 = mapper.getUser(1); System.out.println(user1.getUsername()); sqlSession.commit(); sqlSession.close(); } }

四、 resources 目录下的配置文件

 1)mybatisConfig.xml   此文件用来进行配置数据源访问及事务管理,并将配置好的userMapper.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> <!--数据源选择的Id 需要和下方进行对应--> <environments default="development"> <!--数据源配置 运行环境Id--> <environment id="development"> <!--配置JDBC事务管理--> <transactionManager type="JDBC"></transactionManager> <!-- 配置数据库连接信息 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver" /> <property name="url" value="jdbc:mysql://127.0.0.1:3306/user?characterEncoding=UTF-8&amp;serverTimezone=UTC"/> <property name="username" value="root" /> <property name="password" value="root" /> </dataSource> </environment> <!--environment可以写多个,但是选择只能选择一个--> </environments> <!--注册UserMapper.xml--> <mappers> <!--使用/代替 .进行操作--> <mapper resource="mapper/userMapper.xml"/> </mappers> </configuration>

2 ) mapper文件夹下的userMapper.xml配置文件

<?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"> <!-- 该文件编写 mybatis 中的 mapper 接口里面的方法提供对应的 sql 语句 --> <mapper namespace="dao.UserMapper"> <!-- 添加客户 --> <insert id="saveUser" parameterType="entity.User"> INSERT INTO user(id,username,password) values(null,#{username},#{password}) </insert> <select id="getUser" parameterType="int" resultType="entity.User"> select * from user where id=#{id} </select> </mapper>

五、关于Mybatis的概念

ORM(Object Relational Mapping)

编写程序的时候

以面向对象的方式处理数据 保存数据的时候却以关系型数据库的方式存储

ORM解决方案包含下面四个部分

在持久化对象上执行基本的增、删、改、查操作对持久化对象提供一种查询语言或者API对象关系映射工具提供与事务对象交互、执行检查、延迟加载以及其他优化功能    

Mybatis的优点 :

与JDBC相比,减少了50%以上的代码量最简单的持久化框架,小巧并简单易学SQL代码从程序代码中彻底分离,可重用提供XML标签,支持编写动态SQL提供映射标签,支持对象与数据库的ORM字段映射

缺点 :

SQL语句编写工作量大,对开发人员有一定要求数据库移植性差

持续更新。。。。

 

最新回复(0)