日常的一些总结输出,大佬看了笑笑就好…
还有大学课程数据库工程在学ssm我是真没想到的,我特么刚好在自学…我不拿时间去看408哎
首先配置mybatis,无外乎就是两xml文件,Mybatis 主配置文件和局部SQL映射配置文件。
-
主配置文件是resources下的mybatis.xml,这个是连接数据库的,configuration里面environments连接数据库的配置几乎不用动的,每次用的话复制粘贴就好了,每次要改的就是mappers关联局部SQL映射,resource资源路径使用\分隔的。
-
局部SQL映射配置文件是在dao层下的,也就是DaoMapper.xml,写dao层的时候我是先写DaoMapper.xml,再去写DaoImpl,最后写接口,这样的顺序写下来我是最顺的,因人而异吧,说回DaoMapper.xml,最开始写的是namespace:命名空间,其值为某一个dao层实现类的具体路径,这个用ctrl+alt+shift+c复制粘贴就好,里面的内容呢最基本是要完成5个sql,增删查改,其中查有两个,总的来说parameterType和resultType一般都是用Map(插入的话可以用entity类),Map是接口,一般实例化的对象用的是HashMap
- 增加
INSERT INTO student SET name=#{name},number=#{number},major=#{major},term=#{term}
这里就随便举一个例子 - 删除
DELETE FROM table
后面紧接着<where>标签,里面是<if test=“attr!=null”>,这里要注意的话就是id=#{id}不写在<if>里面比较好,把and写上 - 查找
select * from table
紧接着<where>标签,and写上
select * from table
总得要一个getAll的方法吧 - 更新
update table
紧接着<set>标签,<set>标签结束后加上个where id=#{id}就行了
写完xml,写impl类,SqlSession注入进来,不注入的话就是用SqlSessionFactoryBuilder创建sqlSessionFactory再openSession
- SqlSession的insert、delete和update,返回值是int,要用session.commit()提交
- 查找用的是selectList,返回值用List<Map<String, Object>>,如果写了byId的话用selectOne,返回值用Map<String, Object>
写完impl,写接口,写接口就不用说了吧,接口类里复制粘贴impl的内容,把方法体删掉就行了,再回去把impl类implements接口
写impl的时候要单元测试,用的是hamcrest-core和junit的包,这两个包是idea自带的,去idea目录下的lib找找就有了,把他们导入进来,单元测试的话还用不到mock,标个@Test就意思一下就好了。