| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> mybatis基础篇 -> 正文阅读 |
|
[Java知识库]mybatis基础篇 |
一:什么是mybatis。MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀ORM框架。MyB 目录 atis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索封装。MyBatis 可以使用简单的 XML 或注解用于配置 和原始映射,将接口和 Java 的 POJO(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记 录. 半自动化框架。必须写sql语句。 二:如何使用mybatis。(1)创建一个maven的java工程 ?(2)引入mybatis的依赖和mysql的驱动jar包 (3)创建相应的实体类? 右图为引入的lombok依赖,简化实体类中的set和get方法以及tostring方法和构造方法 (4)配置mybatis的配置文件.xml。mybatis会自动读取配置文件并连接数据库。 (5)编写映射文件,映射文件为实体类与数据库表的映射。并把映射文件引入到mybatis配置中使用。 映射文件中的sql语句select语句中要有返回类型,其值要与namespace的值相同 (6)编辑实体类的Dao接口,并写入需要的方法。 (7)引入junit依赖,写测试方法测试 二:传递多个参数。 如果方法传递的是多个参数时,有一下两种处理方式: 1.需要把占位符里面的名字改为param1、param2........ 2可以在方法中每个参数前添加@Param(""),Sql语句中的占位符需要与("")中的命名一样。 ? 三:特殊字符在映射文件中有些字符不能使用,处理方法有: 建议使用第二种方法。 1.使用转义字符,如下 2:使用<![CDATA[含有特殊字符的Sql语句]]> 四:mybatis的优化1.数据库连接的优化 (1)定义一个数据库属性文件? ?.properties,在该文件下写入,切记不能添加双引号。 2.引入日志文件,便于更好的显示Sql语句和查找错误。 (1)引入log4j依赖 (2)引入日志的配置文件,输出地址可以自己设定 ### 设置### ### 输出信息到控制抬 ### ### 输出DEBUG 级别以上的日志到=E://logs/error.log ### ### 输出ERROR 级别以上的日志到=E://logs/error.log ### 五:字段名和属性名不一致。建议使用第二种字段映射方法.解决方法: 1.给查询的列起别名,别名与属性名一致。如下 ? 2.字段映射。 查询时不能使用resultType属性,? 必须使用resultMap属性。resultType属性:返回值类型为基本数据类型。?resultMap属性:返回值的类型不是基本数据类型的时候使用,比如返回值是一个对象时。 六:动态Sql语句查询:Sql语句根据查询条件的改变而改变理解上图元素的含义,使用时要熟练掌握Sql的增删改查语句 ?注意:查询时尽量不要使用 * 把需要查询的字段写在一个Sql标签中,?? 七:分页查询(1)引入分页查询依赖 (2)加入拦截? 注意加入拦截的位置,位置错误会报错 (3)Sql分页查询语句 select * from 表名 ?limit 0,5; 注意:limit后面有两个参数,参数必须是一个整数常量。 第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1)。 select * from 表名 ?limit (page-1)*pageSize,pageSize; |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 4:51:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |