新手入门MyBatis
本人小白一名,刚学习框架,感觉框架比较困难,所以想记录下来,方便自己日后回顾,同时也希望能够和大家分享学习经验,话不多说,进入正题
- 什么是MyBatis
MyBatis是一个开源的可持久化框架,原理:内部封装JDBC进行访问数据库的操作,支持普通的SQL查询、存储过程和高级映射。其主要思想是将大量的SQL语句抽离出来,实现SQL的灵活配置,这样的好处就是将SQL和代码分离开来,可以在不修改程序代码的情况下,直接在配置文件中修改SQL。
在了解了理论之后之后接下来我们进行MyBatis环境搭建
2. MyBatis环境搭建
下载jar包—>部署jar包—>编写核心配置文件configuration.xml—>创建实体类—>创建DAO接口—>编写SQL映射文件—>测试代码
2.1 下载jar包(一般来说去官网下载,这里我下载好了)
如果没有的话去百度云下载
链接:https://pan.baidu.com/s/1rU6vr11GwQudGSaRfRo0rg
提取码:fflo
2.2 部署jar包
2.3 编写核心配置文件configuration.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>
<!-- 配置别名,方便在Mapper配置中使用 -->
<typeAliases>
<package name="demo.pojo"/>
</typeAliases>
<!-- 配置environments多套运行环境 -->
<environments default="one">
<environment id="one">
<!-- 配置事务管理,采用JDBC的事务管理 -->
<transactionManager type="JDBC"></transactionManager>
<!-- POOLED:mybatis自带的数据源,JNDI:基于tomcat的数据源 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/demo" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
</configuration>
2.4 创建实体类(对应数据库的结构名称)
2.5创建dao接口以及实现类
实现类的代码
public class UserDaoImpl implements UserDao {
@Override
public List<User> selectAll() {
// 读取mybatis文件
String resource = "configuration.xml";
// 获取输入流
InputStream is = null;
try {
is = Resources.getResourceAsStream(resource);
} catch (IOException e) {
e.printStackTrace();
}
// 创建SqlSessionFactory对象
SqlSessionFactory builder = new SqlSessionFactoryBuilder().build(is);
// 得到SqlSession对象
SqlSession sqlSession = builder.openSession();
// mybatis通过mapper文件的namespace和子元素的id来找到对应的SQL,从而执行查询操作
List<User> selectList = sqlSession.selectList("selectAll");
return selectList;
}
}
2.6 编写Mapper文件
<?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需要与UserDao的全路径一样 -->
<mapper namespace="demo.dao.user.UserDao">
<!-- 这里和数据库一样有select、update、delete、insert, -->
<!-- 编写一条查询语句 -->
<select id="selectAll" resultType="user">
select * from user
</select>
</mapper>
最后注意需要将mapper设置到configuration.xml中
2.7 最后测试代码即可
最后附上一个流程图
以上就是初学MyBatis编写一个小程序的个人经验,如有不足,请多指教联系,关于MyBatis的核心文件配置,下次再详细道来~