Mybatis的操作
使用Mybatis依赖一如jar包,这里我通过Maven进行引入结合SpringMVC
因为Spring整合Mybati和MVC并不牵扯
<!--Mybati需要的jar文件-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<!--数据库需要的jar文件-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
下面是Spring与Mybatis整合在需要的jar
<!--mybatis和spring集成的依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
<!--spring事务-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.0.3.RELEASE</version>
</dependency>
<dependency>
<!-- spring操作数据库 -->
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.0.3.RELEASE</version>
</dependency>
基础示例操作
展示项目结构
实体类
//get/set方法都存在只是我没有展示出来
public class User {
private long id;
private String cname;
private String mobile;
private String qq;
private double money;
}
实体类的接口
//这里编写实体类对应的 数据访问层接口
public interface UserDao {
// 因为使用了Mybati,所以实现类就不需要在进行编写了
// 通过一个接口绑定一个Mybatis配置文件.
public List<User> selectAll();
}
Mybatis核心配置文件
配置数据库连接项,日志组件等运行时行为
<?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>
<!--这里引入数据库的连接环境需要的参数,可以通过properties文件进行指定-->
<!--可以看到数据库环境可以存在多个 default进行选择 -->
<environments default="development">
<!--具体的一个数据库连接环境-->
<environment id="development">
<!--可以配置事物管理器类型-->
<transactionManager type="JDBC"/>
<!--配置数据源信息-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/usershow?characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="ok"/>
</dataSource>
</environment>
</environments>
<!--这里需要引用接下来需要处理的SQL映射文件-->
<mappers>
<mapper resource="MybatisMapper.xml"/>
</mappers>
</configuration>
常见的标签
Configuration | mybatis框架的核心配置文件的根节点元素 |
---|---|
properties | 通过resource属性加载外部文件properties文件,用于存储数据库连接信息 |
settings | 设置Mybatis框架运行时候行为, |
Environments | 可以针对不同场景Mybatis框架配置多个运行环境 |
environment | 为mybatis框架配置一套运行环境,并为环境指定唯一id,其中包含事物管理,数据源等相关配置 |
mappers | 配置SQL映射文件 |
mapper | mappers元素的子元素,其属性resource指定基于类路径的SQL映射文件位置 |
Mybatis映射文件
<?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="cn.dao.UserDao">
<!--接口中的方法进行对应,SQL引入-->
<select id="selectAll" resultType="cn.pojo.User">
select * from user
</select>
</mapper>
Mybatis的测试类
public class MybatisTest {
public static void main(String[] args) {
// 指定Mybatis的核心配置文件进行加载
String mybatisconfig = "MybatisConfig.xml";
try {
// 将核心配置文件进行IO的去读解析
InputStream resourceAsStream = Resources.getResourceAsStream(mybatisconfig);
// 通过Mybatis的建造类,可以创建出工厂
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
// 获得工厂之后获取Sqlsession
SqlSession sqlSession = build.openSession();
// 通过Sqlsession进行指定接口来 Mybatis创建出接口的实现类
UserDao mapper = sqlSession.getMapper(UserDao.class);
List<User> users = mapper.selectAll();
// 打印结果进行测试
System.out.println("总记录数"+users.size());
for (User user : users) {
System.out.println("user的name:"+user.getCname());
}
} catch (IOException e) {
e.printStackTrace();
}
结果展示
Mybatis的小结
通过上面的代码,我们发现使用Mybatis之后
- SQL与代码之间进行了分离。
- SQL的到结果,更加方便的进行了处理。只需要编写接口,实现类通过Mybatis的映射文件结合
- 但是发现很多对象都是自己创建,在测试类中看到很多可以省略的,这里是之后Spring进行结合操作
Mybatis核心配置文件
原文地址:https://blog.csdn.net/weixin_46401545/article/details/121791845
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。