发表于: 2017-09-10 22:31:43

1 810




 

今天完成的事情:今天主要复习了一下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加载resourceinputstream)

SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);(实例一个sqlsessionfactory)

public InputStream getResourceAsStream(String pathToConfigFile)(该方法接收一个String类型的参数(pathToConfigFile)来表示资源文件的地址,如果加载成功,则返回该资源文件的输入流(InputStream),如果失败,则返回null。重要的是,在传入pathToConfigFile参数时,有两种方式,第一种方式为绝对定位方式,即pathToConfigFile"/"开头,此时Javaclasspath为根目录,直接加上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加深了理解.了解了他的作用以及操作流程.




返回列表 返回列表
评论

    分享到