mybatis 原始dao开发存在的问题
2016-11-30 19:41
363 查看
先看普通dao开发下的dao层实现
从上面代码很容易总结以下3个问题:
1.模板代码过多,加大程序员无谓工作量
2.sqlid硬编码在java代码中,修改比较麻烦
3.执行sqlsession方法的时候,由于参数使用泛型,导致编译期传任意值都不报错,不利于程序员开发
package cn.xt.dao; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import cn.xt.po.User; public class UserDaoImpl { private SqlSessionFactory factory; public UserDaoImpl(SqlSessionFactory factory){ this.factory = factory; } public User selectUserById(int id){ SqlSession session = factory.openSession();//模板代码 User user = session.selectOne("cn.xt.po.selectUserById",id); session.close();//模板代码 return user; } public void insert(User user){ SqlSession session = factory.openSession();//模板代码 // session.insert("cn.xt.po.insert",user); //1.传的值无论什么类型编译期都不报错,但是运行会报错 //2.sqlid直接写在代码中,输入硬编码 session.insert("cn.xt.po.insert",new Object()); session.commit();//模板代码 session.close();//模板代码 } public void update(User user){ SqlSession session = factory.openSession();//模板代码 session.update("cn.xt.po.insert",user); session.commit();//模板代码 session.close();//模板代码 } }
从上面代码很容易总结以下3个问题:
1.模板代码过多,加大程序员无谓工作量
2.sqlid硬编码在java代码中,修改比较麻烦
3.执行sqlsession方法的时候,由于参数使用泛型,导致编译期传任意值都不报错,不利于程序员开发
相关文章推荐
- 使用mybatis开发原始dao
- JavaEE_Mybatis_SpringMVC_框架整合_lesson1_简单的SSM框架搭建_使用原始Dao开发方式进行测试
- Mybatis开发dao的方法--原始dao篇
- 【mybatis深度历险系列】深入浅出mybatis中原始dao的开发和mapper代理开发
- mybatis入门基础(二)----原始dao的开发和mapper代理开发
- mybatis入门基础(二)----原始dao的开发和mapper代理开发
- Mybatis学习(九)mybatis原始dao接口与dao实现的开发。
- 【MyBatis学习03】原始dao开发方法及其弊端
- mybatis和spring整合后原始dao的开发
- Mybatis入门基础(二)--原始dao的开发和mapper代理开发
- mybatis入门基础(二)----原始dao的开发和mapper代理开发
- mybatis入门基础(二)----原始dao的开发和mapper代理开发
- Mybatis开发原始Dao(即有Dao的实现)
- 深入浅出mybatis中原始dao的开发和mapper代理开发
- mybatis入门基础(二)----原始dao的开发和mapper代理开发
- JavaEE_Mybatis_SpringMVC _Mybaits_lesson2_ 注入方式 原始DAO开发方法
- 【MyBatis框架点滴】——MyBatis开发DAO的两种方法:原始DAO开发方法和Mapper代理方法
- 【MyBatis学习03】原始dao开发方法及其弊端
- 后台(36)——MyBatis的原始Dao开发方式
- Mybatis-Dao层开发之原始dao