Mybaites初步认知

2024-09-06 10:18
文章标签 初步 认知 mybaites

本文主要是介绍Mybaites初步认知,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Mybaties中映射语句是最强大的地方。ResultMap是其中最重要,最强大的元素。

一个Mybaties以一个SqlSessionFactory实例为中心,通过配置类SqlSessionFactoryBuilder创建SqlSessionFactory.

SqlSessionFactory作用域为application,在整个应用程序中始终存在,获取sqlsession实例。(SqlSession包含针对DB执行的语句的每一个方法)

XML中包括:

                    connection  连接数据库

                    TransactionManager  决定事务作用域和操作

                    连接池

                    <mappers> 包含一系列SQL语句映射定义的xml文件。

Mapper 的XML配置文件:Configuration

                                                  ---properties属性

                                                  ---setting 设置

                                                  ---typeAlies 类型别名

                                                  --- typeHanlders 类型句柄

                                                  ---ObjectFactory 对象工厂

                                                  ---plugins 插件

                                                  ---environment  环境

                                                  ---Mapper映射器

Mybaties有两个事务管理器

JDBC 该类型全部用JDBC的提交和回滚功能,依靠数据源来管理事务。

MANAGED 什么都不做,让窗口管理事务生命周期(spring或Javaee服务器)


JDBC:

String selectPerson="SELECT * FROM PERSON WHERE ID=?"PreparedStatement ps = Conn.prepareStatement(selectPerson);ps.setInt(1,id);

Mybaties:

<span style="font-size:18px;"><select id="selectPerson" parameterType="int" resultType="hasnmap">
SELECT *FROM PERSON WHERE ID=#{id}//改参数标识为#{id}
</select>//这条语句叫select Person 有一个int或Integer,返回一个数据表列明和key的HashMap结果集</span>


插入语句

<span style="font-size:18px;"><span style="white-space:pre">	</span><insert id="insertAuthor" parameterType="domain.blog.Author">
<span style="white-space:pre">	</span>insert into Author(id,username,password,email,bio) values(#{id},#{username},#{password},#{email},#{bio})
<span style="white-space:pre">	</span></insert>
</span>

修改语句

<span style="font-size:18px;"><update id="updateAuthor" parameterType="domain.blog.Author">update Author set username=#{username},password=#{password},email=#{email},bio=#{bio} where id=#{id}</update></span>

删除语句

<delete id="deleteAuthor" parameterType="int">delete from Author where id=#{id}
</delete>


SQL 定义一个可复用的语句块

	<sql id="userColumns">id,username,password</sql>
复用
<select id="selectUsers" parameterType="int" resultType="hashMap">select<include refid="userColumns"/>from some_table where id=#{id}</select>

TypeAliases类型别名

<!--In Config Xml file>

<typeAlies type="com.someapp.model.User" alias="User"/>

<!--In Sql Mapping Xml file-->

<select id="selectUsers" parameterType="int" resultType="User">select id,username,hashedPassword from some_table where id=#{id}</select>










这篇关于Mybaites初步认知的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1141747

相关文章

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

认知杂谈52

今天分享 有人说的一段争议性的话 I I 1拓展人脉很重要** 咱们活在这世上啊,得明白一件事儿,知识、逻辑能力和实战经验虽然重要,但确实都不是最关键的。真正关键的是要懂得怎么和那些手里有资源的人打交道。人脉那可真是一笔无形的大财富呢。你想想看,有时候一个有影响力的人帮你一把,那效果可比你累死累活干一年都强得多。 I I 就比如说,你要是认识个行业里的大牛,他可能给你介绍个特别好的工

初步学习Android的感想

之前在学习java语言的时候就经常听说过Android这门语言,那时候感觉Android有些神秘感,再加上Android是用来开发移动设备的一门语言,所以一直对Android抱有一种兴奋的心情。 在我开始接触 Android之后,感觉超好玩,因为可以在自己的手机设备上开发一些我喜欢的小应用,再想想之前说学习Android应该会很难,但是如果你真的接触了,而且有JAVA的功底,我想学习Androi

初步了解VTK装配体

VTK还不太了解,根据资料, vtk.vtkAssembly 是 VTK库中的一个重要类,允许通过将多个vtkActor对象组合在一起来创建复杂的3D模型。 import vtkimport mathfrom vtk.util.colors import *filenames = ["cylinder.stl","sphere.stl","torus.stl"]dt = 1.0renW

认知杂谈54

I I 内容摘要: 这篇内容主要有以下几个要点:首先,沟通不在一个调时可学习人际交往心理学知识、线上课程及关注名师来改善。其次,挑房子、工作、搭档和人生伴侣要谨慎,找心灵相通能共同进步的人。再者,远离负能量的人,多跟积极向上的人相处攒正能量。然后,人生如爬山,要专注自身步伐,不与他人比较,坚持目标,可通过看《微习惯》、用专注 APP、参加训练营提升专注力和自律能力。此外,别瞎操心他人,每个人有自

Weka的初步介绍

Weka无疑是数据挖掘入门的最好工具,初学者可以直接使用图形界面了解数据挖掘的相关算法(如何使用网上有很多教程,可以参考 http://download.csdn.net/detail/u013422712/8649239)。     进阶阶段就必须学会使用和了解Weka的源码,这会在接下去的文章中写道。

基于深度学习的认知架构的AI

基于深度学习的认知架构的AI是一类模仿人类认知过程的人工智能系统,旨在模拟人类感知、学习、推理、决策等复杂的认知功能。认知架构的目的是创建一个能够理解和处理复杂环境、实现自我学习和适应的AI系统。结合深度学习技术,这类AI可以更好地应对动态和复杂的任务需求。 1. 基于深度学习的认知架构的组成 一个典型的基于深度学习的认知架构包含多个关键模块: 感知模块:负责从外部环境中获取数据,处理和提

关于证书链的一点认知

文章来源 作者:小叶与小茶 链接:https://www.jianshu.com/p/fcd0572c4765 来源:简书 顾名思义,证书链是由一串数字证书链接而成,为了弄清楚这个概念,先看看什么是数字证书。 一、数字证书的基础知识 数字证书是用来认证公钥持有者身份合法性的电子文档,以防止第三方冒充行为。数字证书由 CA(Certifacate Authority) 负责签发,关

Maven的初步使用以及命令行工具

在写本文的时候先来说明一下maven依赖的各种范围的意思 compile(编译范围) compile 是默认的范围;如果没有提供一个范围,那该依赖的范围就是编译范围。编译范围依赖在所有的classpath 中可用,同时它们也会被打包。 provided(已提供范围)provided 依赖只有在当JDK 或者一个容器已提供该依赖之后才使用。例如,如果你开发了一个web 应用,你可能在编译cl

对交换机与路由器的认知

路由器是使用网络层IP地址转发分组的存储转发分组交换机。 交换机也是一个存储转发分组交换机,但它是用MAC地址转发分组。 路由器是网络层的分组交换机。 交换机是链路层的分组交换机。 即使交换机与路由器从根本上是不同的,网络管理员在安装互联设备时也经常必须在它们之间进行选择。既然路由器和交换机都是候选的互联设备,那么这两种方式有什么优缺点呢? 交换机的优缺点: 交换机是即插即用的,