SSM框架-MyBatis进阶篇(一)
来源:互联网 发布:单片机时钟频率与定时 编辑:程序博客网 时间:2024/06/06 02:29
一、MaBatis
本篇目的介绍一下在开发过程中使用mabtis,如何自己去操作数据库以及如何将表之间的关系建立联系.当在Mapper的接口文件中写入多个方法对数据库进行操作时,需要在对应的xml
文件中,写入多条select
,insert
,delete
等语句,此时可以在xml文件中用结果映射的方式进行统一匹配处理,代码如下:
<!--namespace:一般写对应的接口路径--><mapper namespace="com.lanou.mapper.StudentMapper"> <!--MyBatis的结果映射: 如果当实体类的属性名和数据库表的列名不一致的情况下, 需要使用结果映射来确保数据的一致性 要求:需要将所有的映射写在sql语句之上 --> <resultMap id="BaseMap" type="com.lanou.bean.Student"> <!-- column:数据库表的列名.property:实体类的属性名 id:只有这个是特殊的 其他的都用result即可 --> <id column="id" property="id"/> <result column="name" property="name"/> </resultMap>
二、写上结果映射后,在写select等执行语句时,可以用resultMap=”ID”的形式进行映射,示例如下:
<select id="allListStudent" resultMap="BaseMap"> SELECT * FROM student </select>
三、数据库查询语句中,Mybats提供一种方法,可以将查询条件归集到一个标签中,将其ID设置好,这样用到对应条件的参数时,可以根据ID来进行操作,方便使用,示例如下:
<!--保存一段sql片段,以供反复使用--> <sql id="WaHaHa"> id,name </sql> <select id="allListStudent" resultMap="BaseMap"> SELECT <include refid="WaHaHa"/> FROM student </select>
四、当对数据库进行增删改查等多项操作时,有时需要考虑根据某项参数来进行操作,或者直接操作实体类对象,代码如下:
public interface StudentMapper { //查询所有的学生 List<Student> allListStudent(); //如果参数有多个,需要使用@Param注解规定参数的别名 void insertStudent(@Param("sname") String name); //直接插入student void insertStu(Student student); //删除 void deleteStudent(@Param("sid") Integer id); //更新数据 void updateStudent(Student student);}
五、根据以上代码可以知道,用注解@Param的方式对参数进行规定别名,在xml文件中要与设置的别名对应上,其中的Type,需要用到的是parameterType,映射到具体的实体类但是该parameterType可写可不写,xml代码如下:
<insert id="insertStudent"> INSERT INTO student VALUES (NULL,#{sname}); </insert><insert id="insertStu" parameterType="com.lanou.bean.Student"> INSERT INTO student VALUES (NULL ,#{name})</insert><delete id="deleteStudent"> DELETE FROM student WHERE id=#{sid};</delete><update id="updateStudent"> UPDATE student SET name=#{name} WHERE id = #{id};</update>
阅读全文
0 0
- SSM框架-MyBatis进阶篇(一)
- SSM框架-MyBatis进阶篇(二)
- SSM框架-MyBatis篇
- SSM框架之MyBatis(一)
- SSM框架集成(一)mybatis+spring
- SSM框架---Mybatis
- 【SSM-MyBatis框架】MyBatis入门
- SSM(Spring+SpringMVC+MyBatis)框架学习心路历程【一】
- ssm框架搭建(一)-Dao层搭建-mybatis
- SSM框架(一)之SSM框架整合(Spring,SpringMVC,MyBatis)
- 【SSM-MyBatis框架】逆向工程
- SSM框架:SpringMVC + Spring + MyBatis
- ssm框架mybatis打印sql
- SSM(一) | 框架整合
- 【SSM-MyBatis框架】Spring整合Mybatis
- SSM框架下实现MyBatis连接查询,一对多和多对一
- Maven配置SSM(Spring SpringMVC Mybatis)框架 细到极致!一秒看懂
- SSM框架(一)--Spring和MyBatis整合(详细教程)
- 算法期中1002. 合并二叉树
- 工作小窍门;)
- 基于Java的Spark WordCount编程实现
- AngularJs-指令和控制器交互
- 情感分析
- SSM框架-MyBatis进阶篇(一)
- MVP+XRecyclerView+okhttp+glide,列表或者网格显示所加载的数据
- 计算1*2*3*+3*4*5+……+99*100*101的值
- Python中filter()实现找回文数字
- HDU 1074 Doing Homework(状压dp+记录路径)
- Excel地图插件v1.2版本发布
- /etc/ld.so.conf文件
- 四大组件contentProvider短信数据库xml的编写(query()各参数含义)
- 2016 年最受欢迎的编程语言是什么?