项目结构
mybatis的配置
创建一个maven工程,在项目的pom.xml文件中,对项目进行配置如打包方式,引入依赖等,创建的mybatis的配置文件一般在resources目录下创建
命名方式一般是mybatis-config.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>
<!-- 配置连接数据库环境-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="url" value="jdbc:mysql://127.0.0.1/cms?characterEncoding=utf-8"></property>
<property name="username" value="root"></property>
<property name="password" value="jWY123.."></property>
<property name="driver" value="com.mysql.cj.jdbc.Driver"></property>
</dataSource>
</environment>
</environments>
<!-- 引入映射文件-->
<mappers>
<!-- mappers/UserMapper.xml映射文件-->
<mapper resource="mappers/UserMapper.xml"></mapper>
</mappers>
</configuration>
配置映射文件
<?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 要和mapper接口的全路径-->
<!--表对应实体类 mapper 接口对应映射文件 -->
<mapper namespace="com.mybatis.Mapper.UsersMapper">
<!-- int insertUser() 映射接口的插入方法-->
<insert id="insertUser">
insert into Users values ("1232131","admin");
</insert>
</mapper>
配置pom.xml
<dependencies>
<dependency>
<!-- 引入mybatis -->
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<dependency>
<!-- 引入junit-->
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<!-- 引入mysql驱动-->
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<!-- 5.1.37适用于mysq8一下的版本 mysql8 需要用到更新的驱动-->
<version>8.0.11</version>
</dependency>
</dependencies>
注意要点
创建的实体类和表一致,字段一致,因为mybatis是通过反射的原理找的,类名对应着表名称,属性名对应字段名,一个类对应一个表。并且生成set和get,toString方法。
数据库信息
Entity实体类
package com.mybatis.Entity;
public class Users {
private String username;
private String Pwd;
public Users() {
}
public Users(String username, String pwd) {
this.username = username;
Pwd = pwd;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPwd() {
return Pwd;
}
public void setPwd(String pwd) {
Pwd = pwd;
}
@Override
public String toString() {
return "User{" +
"username='" + username + '\'' +
", Pwd='" + Pwd + '\'' +
'}';
}
}
如果mysql驱动的配置失败,会抛出一个错误
如何进行调试
配置执行代码,在B站看的尚硅谷视频
public class testJunit {
@Test
public void testMybatis() throws IOException{
// 读取mybatis配置文件
InputStream is =Resources.getResourceAsStream("mybatis-config.xml");
// 创建sqlSessionFactoryBuilder对象
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
// 通过核心配置文件所对应的字节输入流创建工厂类sqlSessionFactoryBuilder 生产sqlSession
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
// 创建sqlsession对象,此时通过sqlsessionfactory.opensession()
// sqlsession sqlssion = sqlsessionfactory.opensession();
// 创建sqlsession对象,此时会通过sqlsession对象操作sql语句都会自动提交
SqlSession sqlSession = sqlSessionFactory.openSession(true);
// 通过代理模式创建UserMapper接口的代理实现类对象
UsersMapper usersMapper= sqlSession.getMapper(UsersMapper.class);
// 调用UserMapper接口中的方法,可以根据UserMapper的全类名匹配元素文件
// 通过调用的方法匹配映射文件中的sql标签,并执行标签中的sql语句
int result = usersMapper.insertUser();
// 提交事务
sqlSession.commit();
System.out.println("结果"+result);
}
}
执行结果 提示执行成功