前言
昨天学习了如何搭建SpringMVC以及基本用法,今天就轮到Mybatis的搭建以及基本使用了。一步一步感觉到前进的感觉很不错!
Mybatis大致流程
图还是自己画的,有还是比没有强。
Mybatis基础搭建步骤
(最重要的内容在总结)
1:引入jar包
- Mybatis的jar包
- mysql的jar包
2:创建mybaits-config.xml配置文件进行配置
-配置信息可以直接查看mybatis官网,
(属性值:数据库驱动、名称、用户名、密码等可以统一放大xx.properties文件中然后被作数属性引入,再间接调用值)
(mappers:mapper引用类用class,应用资源文件用resource)
<?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 resource="com/bigname/db.properties"></properties>
<environments default="development">
<environment id="test"><!-- 数据库名称 -->
<transactionManager type="JDBC" /><!-- 事务模式 -->
<dataSource type="POOLED"> <!-- 表示用连接池 -->
<property name="driver" value="${db.driver}" />
<property name="url" value="${db.url}" />
<property name="username" value="${db.username}" />
<property name="password" value="${db.password}" />
</dataSource>
</environment>
</environments>
<mappers>
<!-- 资源引入方式 -->
<!-- <mapper resource="memberMapper.xml" /> -->
<!-- 类引入方式 -->
<mapper class="com.bigname.daoMapper.IMemberMapper"/>
</mappers>
</configuration>
3:创建数据库与实体类:
- 创建数据库test,并创建表Member
- 实体类Member
package com.bigname.dao;
public class Member {
// id
private int id;
// 用户名
private String name;
// 用户密码
private String password;
public Member(int id, String name, String password) {
super();
this.id = id;
this.name = name;
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "Member [id=" + id + ", name=" + name + ", password=" + password
+ "]";
}
}
4:新建映射配置文件或者映射接口
以映射接口为例,第一个图说明了,这两种映射要注意的地方。
package com.bigname.daoMapper;
import org.apache.ibatis.annotations.Select;
import com.bigname.dao.Member;
public interface IMemberMapper {
@Select("select * from Member where id = #{id}")
Member getMember(int id);
}
5:新建Mybatis工具类
封装了一个连接数据库,返回数据库操作对象的方法
public class MybatisUtil {
// 根据配置文件信息创建与数据库的连接,并返回数据库操作对象
public static SqlSession openSqlSession(){
String sqlConfigXML = "mybatis-config.xml";
InputStream in = Resources.getResourceAsStream(sqlConfigXML);
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(in,"test");
return build.openSession();
}
}
6:测试连接
我在数据库新增了3条数据
public class Test {
public static void main(String args[]){
System.out.println("ddddd");
selectMember();
}
private static void selectMember() {
try {
// 连接数据库,并得到数据库操作对象
SqlSession openSession = MybatisUtil.openSession();
// 得到mapper对象(该对象在mybatis-config.xml中要配置正确)
IMemberMapper mapper = openSession.getMapper(IMemberMapper.class);
// 然后调用方法执行封装的sql语句
Member member = mapper.getMember(3);
System.out.println(member);
// 最后关闭连接
openSession.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
控制台打印:
Member [id=3, name=周润发, password=789]
成功连接到数据库,并且查询到数据
总结:
要查询一条数据的流程:
1.
- 根据配置文件信息连接数据库,
- 得到数据库操作对象(记为库对象),
- 所以此时需要在配置文件中正确配置一个数据库信息。
2.
- 利用库对象用getMapper()获取映射接口对象,
- 所以此时要在配置文件中配置该映射接口类,否则就找不到了。
3.
- 调用映射接口对象的方法,会相应执行数据库语句,
- 所以此时接口中需要有声明该方法响应的数据库语句。
结束语
总的来说,mybatis的搭建步骤比SpringMVC要稍微多了一点点。最好就是根据总结去理解这个访问的流程,逆过来一步一步看就会知道到底要进行哪些配置了。