提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
一、Mybatis是什么?
MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索封装。MyBatis 可以使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJO(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录. 半自动化框架。
二、Mybatis快速入门
1.添加jar包
代码如下(示例):
【mybatis】
mybatis-3.1.1.jar
【MYSQL 驱动包】
mysql-connector-java-5.1.7-bin.jar
再pom.xml中引入jar包
<?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>mybatis_0531</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
</dependencies>
</project>
2.1添加 Mybatis 的配置文件conf.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>
<!--<typeAliases>
<!–单独为某个实体类起别名 –>
<typeAlias type="com.aaa.entity.User" alias="u"/>
<!–实体类名就是别名–>
<package name="com.ykq.entity"/>
</typeAliases>-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<!--数据源的配置:name的值固定 value的值要根据客户自己修改-->
<dataSource type="POOLED">
<property name="driver"
value="com.mysql.cj.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://localhost:3306/wokr?serverTimezone=Asia/Shanghai" />
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<!--resource是mapper文件的路径-->
<mapper resource="mapper/mapper.xml"></mapper>
</mappers>
</configuration>
2.2.定义表所对应的实体类
注意:可以和库的列名一样;不一样的我们要用到起别名(这个代码块是要加在mybatis里面的,如上)
<typeAliases>
<!--单独为某个实体类起别名;
typeAlias type是实体类的user的路径,
alias是单个实体类的别名 -->
<typeAlias type="com.aaa.entity.User" alias="u"/>
<!--实体类名就是别名-->
<package name="com.ykq.entity"/>
</typeAliases>
public class User {
int userid;
String username;
String realname;
}
2.3定义操作 user 表的 sql 映射文件 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">
<!--namespace里面的名字随便起;但是我们下面学习企业开发模式是就要对应我们的dao接口-->
<mapper namespace="user">
<select id="findOne" resultType="com.aaa.entity.User">
select * from mybatis where userid=#{id}
</select>
<insert id="add" parameterType="com.aaa.entity.User">
insert into mybatis(username,realname) value (#{username},#{realname})
</insert>
<delete id="del" parameterType="int">
delete from mybatis where userid=#{id}
</delete>
<update id="up" parameterType="com.aaa.entity.User">
update mybatis set username=#{username},realname=#{realname} where userid=#{userid}
</update>
<select id="findAll" resultType="com.aaa.entity.User">
select * from mybatis
</select>
</mapper>
2.4编写测试代码:执行定义的 select 语句
我们这边只举例一个查询的测试
public class Test {
public static void main(String[] args) throws IOException {
String resource = "conf.xml";
//加载 mybatis 的配置文件(它也加载关联的映射文件)
Reader reader = Resources.getResourceAsReader(resource);
//构建 sqlSession 的工厂
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
//创建能执行映射文件中 sql 的 sqlSession
SqlSession session = sessionFactory.openSession();
/*映射 sql 的标识字符串,我们上面的
String statement = "com.aaa.mybatis.mapper.Mapper"+".selectUser"; */
//执行查询返回一个唯一 user 对象的 sql
User user = session.selectOne("user.findOne", 1);
System.out.println(user);
//关闭
session.close();
}
}
总结
以上就是今天要讲的内容,本文仅仅简单介绍了Mybatis的使用