mybatis知识汇总.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
mybatis知识汇总

MyBatis汇总整理 对表的增/删/改(动态修改)/查(单表查询/多表查询/动态查询/多对一查询/一对多查询/延迟加载)/分页/配置文件优化/增加时获取主键/注解/sql冗余/批量类设别名 注意:.xml格式的文件中除了(properties和mapper标签中有resource,其余都没有)resource的属性值中路径有/和文件的格式后缀,其余的写的路径都是.分开,并且没有文件的格式后缀; 注意:.xml格式文件中5个特数字符及其转义字符: 主流框架主要对应作用: MyBatis用于替代JDBC; Struts2用于替代servlet;(springMVC也是此功能) HIBER NATE用于替代dao,dao方法中查到结果集不用遍历直接返回结果集合; Spring是将大家组合在一起; MyBatis是一个半自动的ORM; 搭建MyBatis环境的一般步骤: 下载mybatis.jar包; 编写核心文件(连接数据库的configuration.xml):(注意先后顺序) (配置打印日志信息;(注意:导log4j.jar包、配置文件) (主要写driver、url、userName、password等信息; (配置表与实体类映射关系的映射文件信息; 在model中创建与表对应的实体类; 在dao层中创建sql映射文件(表名+mapper.xml):主要写namespace、select中的id和sql语句(注意:sql语句中查询的列表要有别名,别名跟对应的实体类的属性名保持一致) 创建工具类:(主要实现获取sqlsession对象): (获取configuration.xml文件相对于src的路径; (通过Resource调用getResourceAsStream(String string)方法获取InputStream输入流; (通过new SqlsessionFactoryBuilder调用build(InputStream inputStream)方法获取SqlsessionFactory对象; ④通过sqlSessionFactory类型的对象调用openSession()方法获取sqlSession对象; 测试类:通过工具类获取sqlsession对象,然后通过sqlsession对象调用selectList(String string,Object object)方法获取查询结果集即可,参数就是映射文件mapper.xml中的namespace+要执行的select中的id,增/删/改/查不同方法执行的时候,传递的string值不同; 在mapper.xml文件中写sql语句时要注意的事项:(parameterType如果确定参数是什么类型就写,如果不确定不写也可以,对于select语句resultType或resultMap两个中必须选择一个写) 新增语句: 标签名:insert; 需要设置parameterType类型; 表名后括号内写表中列明,values后括号内写实体类对应的属性名; 需要commit提交信息; 查询某一条记录语句: 标签名:select; 需要设置parameterType类型,需要设置resultType类型; 表名需要有别名,查询结果的列名需要有别名,别名就是实体类对应的属性名; 关键字模糊查询: 标签名:select; 需要设置parameterType类型,需要设置resultType类型; 表名需要有别名,查询结果的列名需要有别名,别名就是实体类对应的属性名; 模糊查询中内容: like ‘%${参数名}%’ 或 concat(‘%’,#{参数名},’%’)等2中方法; 查询所有记录语句: 标签名:select; 需要设置resultType类型; 表名需要有别名,查询结果的列名需要有别名,别名就是实体类对应的属性名; 动态查询: where+if:多条件动态查询: 对于多条件动态查询,不知道哪个条件是否不为null,那么就用whereif test=”” and+sql语句/if/where格式写最合适; Set+if:多条件动态修改: 对于修改表中信息,不知道哪些信息不为空需要修改的时候,那么就用setif test=””sql语句/if/set格式即可;如下图所示: Trim(相当于set/where)+if:多条件动态查询/修改:详情百度下; Where+choose:多个条件中选择一个作为查询条件:无实际场景; Foreach:为查询条件赋多个值: 注意:if条件中的test获取属性值与sql语句中获取属性值的写法是不同的,详情见下图: 修改语句: 标签名:update; 需要设置parameterType类型; 需要赋值的变量{}中写的是包装类中对应的属性名

文档评论(0)

wnqwwy20 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档