发表于: 2017-09-10 22:31:43
1 809
今天完成的事情:今天主要复习了一下mybatis
复习mybatis
发展原因:
Java 程序员为了操作数据库,最开始是使用JDBC来进行的,但是这种方式开发效率低,要写一堆重复代码,加上关系数据库和对象本身存在所谓的阻抗不匹配情况,所以为了提高开发效率,有人发明了 ORM 即对象关系映射框架(Hibernate是其中的佼佼者),作用就是把数据库映射成为对象,你只需要操作这些对象就行了,而你的对象怎么和数据库发生关系,那就是mybatis的作用了。对于 Java 程序员来说,就可以通过操纵对象来操纵数据库了。
企业应用中数据很重要,有时数据比软件重要
好处:MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
每一个mybatis应用都是以一个sqlsessionfactory的实例为中心,而sqlsessionfactory都是通过sqlsessionfactoryBuilder获得.sqlsessionfactorybuilder可以通过一个xml文件构建出sqlsessionfactory的实例.
String resource = "org/mybatis/example/mybatis-config.xml";(将config,xml文件放入resource变量)
InputStream inputStream = Resources.getResourceAsStream(resource);(通过getresourceasstream加载resource给inputstream)
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);(实例一个sqlsessionfactory)
public InputStream getResourceAsStream(String pathToConfigFile);(该方法接收一个String类型的参数(pathToConfigFile)来表示资源文件的地址,如果加载成功,则返回该资源文件的输入流(InputStream),如果失败,则返回null。重要的是,在传入pathToConfigFile参数时,有两种方式,第一种方式为绝对定位方式,即pathToConfigFile以"/"开头,此时Java以classpath为根目录,直接加上pathToConfigFile来搜索资源文件。第二种方式为相对定位方式,即pathToConfigFile不以"/"开头,此时资源文件的全路径应该为:调用getResourceAsStream方法的类的package路径加上pathToConfigFile。)<参考:http://blog.csdn.net/donson_x64/article/details/8114988>)
SqlSession 完全包含了面向数据库执行 SQL 命令所需的所有方法。你可以通过 SqlSession 实例来直接执行已映射的 SQL 语句。需要一个mapper.class文件
SqlSession session = sqlSessionFactory.openSession();
try {
BlogMapper mapper = session.getMapper(BlogMapper.class);
Blog blog = mapper.selectBlog(101);
}finally {
session.close();
}
sql映射的意思自我理解就是把配置文件看成是一个类.写进配置文件的映射看成是一个方法,以后需要操作增删改查等工作可以先实例化配置文件.然后调用其中映射.(现阶段就这么理解以后再深入),
<?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="org.mybatis.example.BlogMapper">
<select id="selectBlog" resultType="Blog">
<select * from Blog where id = #{id}
</select>
</mapper>
明天计划完成的事情:明天写几个spring项目,练习一下
遇到的问题:今天在看资料的时候,经常被一些小的语法困住,比如创建变量什么的.
不知道现在任务一对这些框架的要求是什么,要了解整个流程还是只要会用就行,想看明白框架使用的代码还是有点难度,.
对映射这个知识点不了解
收获:对mybatis加深了理解.了解了他的作用以及操作流程.
评论