![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mybatis
Ozl_from_Guet_码到成功
这个作者很懒,什么都没留下…
展开
-
MyBatis一对多关联查询
一个用户可以有多个订单,而一个订单只属于一个用户。同样,国家和城市也属于一对多级联关系。在 MyBatis 中,通过 元素的子元素 处理一对多级联关系,collection 可以将关联查询的多条记录映射到一个 list 集合属性中。示例代码如下。在 元素中通常使用以下属性。原创 2024-07-26 11:58:56 · 188 阅读 · 0 评论 -
MyBatis注解(3种类型)
为了简化 XML 的配置,MyBatis 提供了注解。我们可以通过 MyBatis 的 jar 包查看注解,如下图所示:以上注解主要分为三大类,即 SQL 语句映射、结果集映射和关系映射。下面分别进行讲解。原创 2024-07-26 11:57:36 · 247 阅读 · 0 评论 -
MyBatis resultMap元素
resultMap 是 MyBatis 中最复杂的元素,主要用于解决实体类属性名与数据库表中字段名不一致的情况,可以将查询结果映射成实体对象。现有的 MyBatis 版本只支持 resultMap 查询,不支持更新或者保存,更不必说级联的更新、删除和修改。原创 2024-07-26 11:55:16 · 175 阅读 · 0 评论 -
MyBatis insert标签
如果在实际项目中,若数据库不支持主键自动递增(例如 Oracle),或者取消了主键自动递增的规则,我们可以使用 MyBatis 的 标签自定义生成主键,具体配置代码如下。原创 2024-07-26 11:52:32 · 255 阅读 · 0 评论 -
MyBatis执行SQL的两种方式
因为 XML 文件或者接口注解定义的 SQL 都可以通过“类的全限定名+方法名”查找,所以 MyBatis 会启用对应的 SQL 运行,并返回结果。上面分别讲解了 MyBatis 两种发送 SQL 的方式,一种用 SqlSession 直接发送,另外一种通过 SqlSession 获取 Mapper 接口再发送。以上语法格式中,String 对象由一个命名空间加 SQL id 组合而成,它完全定位了一条 SQL,这样 MyBatis 就会找到对应的 SQL。常用格式如下(也有其它重载方法,根据需要选择)。原创 2024-07-26 08:30:57 · 109 阅读 · 0 评论 -
MyBatis Mapper(映射器)
如果 SQL 语句中有多个表的关联、多个查询条件、级联、条件分支等,显然这条 SQL 就会复杂的多,所以并不建议读者使用这种方式。此外,XML 可以相互引入,而注解是不可以的,所以在一些比较复杂的场景下,使用 XML 方式会更加灵活和方便。映射器是 MyBatis 中最重要的文件,文件中包含一组 SQL 语句(例如查询、添加、删除、修改),这些语句称为映射语句或映射 SQL 语句。使用注解的方式实现映射器,只需要在接口中使用 Java 注解,注入 SQL 即可。RoleMapper.xml 代码如下。原创 2024-07-26 08:30:01 · 122 阅读 · 0 评论 -
MyBatis配置文件
在 typeHandler 中,分为 jdbcType 和 javaType,其中 jdbcType 用于定义数据库类型,而 javaType 用于定义 Java 类型,typeHandler 的作用就是承担 jdbcType 和 javaType 之间的相互转换。例如,在 cn.edu.guet.bean 包中有一个 Role 类,则该类的全限定名称为 cn.edu.guet.bean.Role。settings 的配置项很多,但是真正用到的不会太多,我们把常用的配置项研究清楚就可以了。原创 2024-07-26 08:27:22 · 622 阅读 · 0 评论 -
MyBatis核心对象
有了它以后,顾名思义,就可以通过 SqlSession 提供的 openSession() 方法来获取 SqlSession 实例。SqlSession 对象中完全包含以数据库为背景的所有执行 SQL 操作的方法,用该实例可以直接执行已映射的 SQL 语句。需要注意的是:每个线程都有自己的 SqlSession 实例,SqlSession 实例不能被共享,也不是线程安全的。由于数据库会话不是永久的,因此 SqlSession 的生命周期也不是永久的,每次访问数据库时都需要创建 SqlSession 对象。原创 2024-07-26 08:25:52 · 117 阅读 · 0 评论 -
使用MyBatis配置步骤
例如,如果设置优先级为WARN,那么OFF、FATAL、ERROR、WARN 4个级别的log能正常输出,而INFO、DEBUG、TRACE、 ALL级别的log则会被忽略。log4j定义了8个级别的log(除去OFF和ALL,可以说分为6个级别),优先级从高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL。打印一些你感兴趣的或者重要的信息,这个可以用于生产环境中输出程序运行的一些重要信息,但是不能滥用,避免打印过多的日志。resources下创建该文件。原创 2024-07-26 08:24:43 · 185 阅读 · 0 评论 -
MyBatis概念
MyBatis 是一个开源、轻量级的数据持久化框架,是 JDBC 和 Hibernate 的替代方案。MyBatis 的主要思想是将程序中的大量 SQL 语句剥离出来,使用 XML 文件或注解的方式实现 SQL 的灵活配置,将 SQL 语句与程序代码分离,在不修改程序代码的情况下,直接在配置文件中修改 SQL 语句。MyBatis框架是一个半自动的ORM持久层框架,也可以在Java中实现以面向对象的方式操作数据库,但是需要我们自己编写SQL语句,MyBatis是目前比较流行的DAO中持久层的框架技术。原创 2024-07-26 08:24:00 · 491 阅读 · 0 评论