一、常用注解介绍
二、使用案例
其实只要知道了我们平常使用mabatis的原理,基本上就不难理解使用的方式了!
开始前的准备:①mybatis核心配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties resource="db.properties"></properties>
<settings>
<setting name="mapUnderscoreToCamelCase" value="false"/>
</settings>
<!-- 和spring整合后 environments配置将废除-->
<environments default="development">
<!-- 可以配置多个environment -->
<environment id="development">
<!-- 使用jdbc事务管理-->
<transactionManager type="JDBC" />
<!-- 数据库连接池-->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driverClass}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.user}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments>
<!--加载sql映射文件-->
<mappers>
<mapper resource="UserDao.xml"/>
<mapper resource="UserMapper.xml"/>
</mappers>
</configuration>
②mapper接口类:
public interface UserMapper {
}
那么我们开始吧:
①select注解
首先是mapper接口类中写入方式:
@Select("select * from user where id = #{id}")
public User findUserById(@Param("id") Integer id);
然后我们去写一个测试类:
@Test
public void findUserById() {
System.out.println(userMapper.findUserById(1));
}
结果:
②delete注解:使用方式和select一样,不演示了
③insert注解和SelectKey注解:
@Insert("insert into user (username,password) values(#{username},#{password})")
@SelectKey(
statement = "select last_insert_id()", //查询最后插入的数据的主键id
resultType = Integer.class, //返回类型
keyProperty = "id", //得到主键然后保存在哪
before = false //是否在insert插入之前查询最新的主键
)
public User insertUser(@Param("username") String username,@Param("password")String password);
实现类和结果我就省略了!
④update注解
@Insert("update user set username = #{username} , password = #{password} where id = #{id}")
public User update(@Param("id") Integer id,@Param("username") String username,@Param("password")String password);
切记!修改之后一定要用提交commit:
@Test
public void findUserById() {
System.out.println(userMapper.insertUser("admin","123456"));
sqlSession.commit();
}
好的,那么入门级的mybatis注解使用就到这了,其实在注解中我们也可以插入对应的判断动态SQL判断语句,那么就要引出一个mybatis中的标签:
<script></script>:
要在带注解的映射器接口类中使用动态 SQL,可以使用 script 元素。比如:
@Update({"<script>",
"update Author",
" <set>",
" <if test='username != null'>username=#{username},</if>",
" <if test='password != null'>password=#{password},</if>",
" <if test='email != null'>email=#{email},</if>",
" <if test='bio != null'>bio=#{bio}</if>",
" </set>",
"where id=#{id}",
"</script>"})
void updateAuthorValues(Author author);
剩下的就要靠自己去拓展和实践啦,感谢各位的观看到这里!感恩戴德!