发表于: 2016-08-14 23:45:13
1 2484
补上8月13号的日报。
今天完成的事:
一.在maven项目里搭建mybatis,并对数据库进行操作,具体包括(
-->1.pom.xml添加相对应的jar包,保存后让eclipse自动下载添加到本地仓库。
-->2.配置mybatis的配置文件(我命名为configMybatis.xml)。
-->3.创建po类(Students.java):创建私有的成员变量和数据库中学生表的字段名相对应,提供相对应的set/get 方法,重写了toString()方法。
-->4.配置映射文件(StudentsMapper.xml),主要内容包括命名空间namespace、sql语句的编写。
下图是配置文件的sql语句所需的配置,包括id、parameterType(规定输入参数的类型,比如id的输入类型就是 int)、resultType(返回结果的类型,如查询后返回的就是类Students的类类型)
-->5.在mybatis的配置文件里加载映射文件,用<mappers><mapper resource="配置文件的路径"/></mappers>。
-->6.创建DAO接口:提供对数据库查(根据id单个数据查询和全部数据)、增、改、删的方法;创建实现类 StudentsDAO实现接口DAO,下图是创建会话session的过程,通过session来对数据库进行操作
session可以实现的方法有selectone、selectList、insert、update、delete;下图是selectone方法实现,在 selectone方法中的第一个参数是statement(等于映射文件的命名空间名+映射文件中对应的select的id),第二 个参数是指定一个和映射文件匹配的parameterType的对象(比如这里的id是int类型)
遇到的问题:
1.在搭建创建会话工厂的时候,需要用到inputStream,这时候出现空指针异常,用debug查看显示inputStream为 null,判断在加载配置文件的时候出了问题。加载配置文件的方法有通过类加载器还有Resources类。最后排查的 时候是使用类加载器时忘了getClassLoader()方法。哎,心累的很啊
收获:1.解决bug好开森(不要打我。。。。)
2.觉得每次都创建一次会话工厂好麻烦,后来查了一下。可以在类的构造方法里就初始化会话工厂,还可以通过 spring用单例模式管理sqlSessionFactory,只需要实例一次就够了。所以觉得在敲代码的时候可以经常思考重复 的代码有没有可以优化的地方.≡[。。]≡≡[。。]≡≡[。。]≡≡[。。]≡
评论