发表于: 2019-10-20 23:21:58
1 1050
今天完成的事情:
尝试用 mybatis 连接数据库
不过只写到测试 正式的增删查改还没写
1.引入依赖
2.一个实体类文件enity 省略set get
3.在resources下 新建一个mybatis-config.xml文件
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- XML 配置文件包含对 MyBatis 系统的核心设置 -->
<configuration>
<!-- 指定 MyBatis 数据库配置文件 -->
<properties resource ="db.properties" />
<!-- 指定 MyBatis 所用日志的具体实现 -->
<settings>
<setting name="logImpl" value="LOG4J" />
</settings>
<environments default="development">
<!-- 环境配置,即连接的数据库。 -->
<environment id="development">
<!-- 指定事务管理类型,type="JDBC"指直接简单使用了JDBC的提交和回滚设置 -->
<transactionManager type="JDBC" />
<!-- dataSource指数据源配置,POOLED是JDBC连接对象的数据源连接池的实现。 -->
<dataSource type="POOLED">
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments>
<!-- mappers告诉了MyBatis去哪里找持久化类的映射类(注解形式) -->
<mappers>
<mapper resource ="mappers/StudentMapper.xml" />
</mappers>
</configuration>
3.新建一个mapper.xml文件 里面存放sql语句 这个写完要导入2中
<?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:命名空间,随便写,一般保证命名空间唯一 -->
<mapper namespace="MyMapper">
<!-- statement,内容:sql语句。id:唯一标识,随便写,在同一个命名空间下保持唯一
resultType:sql语句查询结果集的封装类型,tb_user即为数据库中的表
-->
<select id="selectUser" resultType="enity.Student">
select * from bj where id = #{id}
</select>
</mapper>
4.测试文件
public class StudentTest {
public static void main(String[] args) throws Exception {
// 指定全局配置文件
String resource = "mybatis-config.xml";
// 读取配置文件
InputStream inputStream = Resources.getResourceAsStream(resource);
// 构建sqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 获取sqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
// 操作CRUD,第一个参数:指定statement,规则:命名空间+“.”+statementId
// 第二个参数:指定传入sql的参数:这里是用户id
Student s = sqlSession.selectOne("MyMapper.selectUser", 5);
System.out.println(s);
} finally {
sqlSession.close();
}
}
}
输出 使用了log4j输出日志
明天计划的事情:
把my batis 增删查改都写完
学习mybatis的基础知识
遇到的问题:
mapper.xml文件 地址正确 无法被获取
百度后
在resources下 新建了一个mappers包 把mapper.xml文件放入就好了
只是尝试了连接,但还是不太懂一些代码含义
收获:
对mybatis连接方式 文件配置 有了一些了解
评论