Mybatis 基本介绍和增删改查
基本介绍
数据库连接池是用于管理数据库连接的技术。允许程序在需要数据库连接时,从连接池中获取一个空闲的连接,而不是每次都创建新的连接。当数据库操作完成后,连接会被返回连接池,供其他线程或请求使用。
解决方案或多或少需要自己封装,不过不需要再手动配置了,mybatis正是为此而来的
注意在配置pom.xml依赖时导入数据库需要下载数据库连接包
开发步骤
1.建立mybatis坐标
以下是pom.xml文件,写进来方便复制
<?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>mybatistest</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.2.0</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.17</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.12</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.1</version></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>RELEASE</version><scope>test</scope></dependency></dependencies>
</project>
2.创建user数据表
下面是数据库的user表,用的软件是SQLyog
3.创建对应的实体类表user,写上对应的属性,并添加getter,setter和tostaring方法
4.映射文件:UserMapper 文件位于resource资源中
这段代码的功能是从数据库中查询所有用户,并将查询结果映射到 com.ysx.domain.User
类型的对象中
<?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="usermapper" ><select id="findAll" resultType="com.ysx.domain.User">select *from user</select>
</mapper>
5.编写核心mybatis文件sqlMapperConfig
这段代码是一个 MyBatis 配置文件,用于配置 MyBatis 框架以及数据库连接transactionManager
用来配置事务管理的方式,type="JDBC"
表示使用 JDBC 管理事务,即 MyBatis 会通过 JDBC 来控制事务,而不是使用如 Spring的其他事务管理框架。
<?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"><!--这里是配置mybatis的xml,要配置数据源环境等--><configuration><environments default="development"><environment id="development"><transactionManager type="JDBC"></transactionManager><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/test"/><property name="username" value="root"/><property name="password" value="这里输入自己的密码"/></dataSource></environment></environments><!--加载映射文件-->
<mappers>
<mapper resource="com/ysx/mapper/UserMapper.xml"></mapper>
</mappers></configuration>
6.编写测试类
最后爆出异常表示找不到sqlMapperConfig,可我都找遍了没有错,奇怪。最后越改错越多了
7.应该有的运行结果
映射文件概述
增删改查操作
前面搭建好的环境基本不变
增加 查询
UserMapper.xml
#{}底层使用PreparedStatment,其中的值和类型有关常用于代表列值。${}底层使用Statement,不区分数据类型,常用于表示表名或列名(前提保证不存在注入风险)
注意,对数据库表进行影响的行为需要执行提交操作
注意事项
修改
配置文件
此处是根据id修改姓名密码,最后成功执行
注意事项
删除
如果要删除的根据一个属性来,那么#{}中可以随便写,但如果参数是实体值,那么#{}中一定会是一个实体属性
注意事项