配置mapper的xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.*.*Mapper">//interface接口地址
<resultMap id="BaseResultMap" type="com.*.*Entity">//实体类地址
<id column="unid" jdbcType="INTEGER" property="unid" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="class" jdbcType="VARCHAR" property="class" />
</resultMap>
增加一条字段:
<insert id="insertStudent"//方法名 parameterType="com.*.*Entity">
insert into table_test
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="name != null">
name,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=INTEGER},
</if>
<if test="name!= null">
#{name,jdbcType=VARCHAR},
</if>
</trim>
</insert>
删除一条字段:
<delete id="deleteStudent" parameterType="java.lang.String">
delete from table_test
where id= #{id,jdbcType=INTEGER}
</delete>
修改一条字段:
<update id="updateStudent" parameterType="com.*.*Entity">
update table_test
<set>
<if test="id != null">
id= #{id,jdbcType=INTEGER}, //新数据
</if>
</set>
where id=#{id,jdbcType=INTEGER} //原数据
</update>
搜索字段:
<sql id="Base_Column_List">
name,class
</sql>
<select id="select" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
//Base_Column_List等价于id="Base_Column_List"语句
from table_test
where
<if test="name != null">
and name = #{name, jdbcType=INTEGER}
</if>
<if test="class != null">
and clas = #{class, jdbcType=INTEGER}
</if>
order by id desc //通过ID降序排序
limit 1 //仅限一条数据
</select>
常用的数据库方法名:
InsertStundent添加一条学生数据;deleteStudent删除;updateStundent更新;selectStundent搜索
数据库连接的三种方式:
- INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。
内连接案例
表一test_1 表二test_2
select *
from test_1
inner JOIN test_2
on test_1.id=test_2.id
WHERE test_1.`name`=test_2.`name`
结果
- JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
- 左右连接一般使用一个即可
- 案例为LeetCode上的题目
select FirstName,LastName,City,State
from Person left join Address
on Person.PersonId=Address.PersonId
- RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。