当前位置: 首页 > news >正文

招远水利建设工程公司网站广告网

招远水利建设工程公司网站,广告网,在哪个网站做流程图比较好看,南庄九江网站建设文章目录 注解实现简单增删改查SQL 语句构建器SelectProvider举例 注解实现简单增删改查 在 MyBatis 的核心配置文件中&#xff0c;你需要配置的不是 mapper 映射文件&#xff0c;而是 Mapper 接口所在的包路径。 <!-- 在配置文件中 关联包下的 接口类--> <mappers&…

在这里插入图片描述

文章目录

    • 注解实现简单增删改查
    • SQL 语句构建器
      • @SelectProvider举例

注解实现简单增删改查

在 MyBatis 的核心配置文件中,你需要配置的不是 mapper 映射文件,而是 Mapper 接口所在的包路径。

<!-- 在配置文件中 关联包下的 接口类-->
<mappers><package name="com.example.dao"/>
</mappers>

另外,我们也不再需要 mapper 映射文件。对于 DAO 中的方法所对应的 SQL 语句,我们直接以注解的形式标注在方法上。

public interface DepartmentMapper {@Select("select * from dept where deptno = #{id}")Department selectByPK(int id);@Select("select * from dept")List<Department> select();@Delete("delete from dept where deptno = #{id}")int delete(int id);@Insert("insert into dept values(NULL, #{name}, #{location})")@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "deptno")int insert(Department dept);
}

上述代码中的注解很好理解。唯一需要注意的是,如果在执行 insert 语句时,需要启用 MyBatis 的「主键回填」功能,需要多使用一个 @Options 注解。

其实上面的接口的定义中所使用的注解的作用显而易见,本质上就是把你曾经写在 XML 配置文件中的 SQL 语句「搬」到了 Java 代码中。

SQL 语句构建器

@SelectProvider举例

@SelectProvider 功能就是用来单独写一个类与方法,用来提供一些 XML 或者注解中不好写的 SQL 。

写一个简单的 @SelectProvider 的用法:

先在DepartmentMapper/DepartmentDao 中写一个接口,配上注解。

@SelectProvider(type = MySelectSqlProvider.class, method = "selectByPK")
Department selectDepartmentByPK(long id);

新建MySelectSqlProvider类,添加selectByPK方法,这个方法返回你「心里想要」执行的 SQL 语句:

public class MySelectSqlProvider {public String selectByPK(Long id) {return "SELECT * FROM department where id = " + id;}
}

我们在这里直接返回了一个 String,当然你开可以用 StringBuffer 对象来拼接一个 SQL 语句,这样可读性更好一些。

public class MySelectSqlProvider {public String selectByPK(@Param("id") Long id, @Param("name") String name){StringBuffer sql = new StringBuffer();sql.append(" SELECT * FROM department where id = #{id}");sql.append(" and name = #{name} ");return sql.toString();}
}

更多、更优雅的写法是:通过 MyBatis 中的 SQL 工具类(SQL Builder 工具类已被淘汰)的拼接一个 SQL 语句。SQL 工具类的写法在Mybatis官网-SQL 语句构建器 。

最后在Service中调用Mapper方法即可

[!attention] 注意
在使用 @SelectProvider 时,我们在 XML 中没有对应的 SQL(甚至 myabtis 甚至都不知道有 XML 配置文件的存在,因为我们在核心配置文件中映射的是 dao 接口所在的包,而不是 Mapper.xml 配置文件),而且我们在接口的查询方法上也没有 @Select 注解修饰,只有 @SelectProvider 注解,@SelectProvider 中两个属性:type 为提供 SQL 语句(字符串)的类,method 指定提供 SQL 语句(字符串)的具体方法。

另外,除了有 @SelectProvider 之外,还有 @InsertProvider@UpdateProvider@DeleteProvider

http://www.khdw.cn/news/32557.html

相关文章:

  • 网站建设 计划书百度竞价app
  • 初中学校网站如何做搜索引擎有哪些网站
  • 网站下拉菜单怎么做百度人工在线客服
  • 对于建设高效的政府门户网站的建议2022年最火的新闻摘抄
  • 新手怎么做html5网站备案域名购买
  • office文件包里的做网站软件免费打广告平台有哪些
  • 室内设计网站排行榜前十名有哪些seo优化推广流程
  • 商城类的网站怎么做宣传营销方式有哪些
  • wordpress文章生成分享图片不显示首页排名优化公司
  • 法院司法公开网站建设情况疫情最新情况
  • 网站设计原型企业查询宝
  • 手机咋做网站昆明排名优化
  • 大网站建设seo快速上排名
  • 只做男士衬衫的网站win10系统优化软件哪个好
  • 哪个网站可以做链接哈尔滨网站制作软件
  • 有哪些企业可以做招聘的网站有哪些内容专业做网站公司
  • 武汉网站推优化公司郑州网络营销学校
  • python网站开发的毕业论文阿里巴巴关键词排名优化
  • 黑龙江建设教育网站沈阳cms模板建站
  • 长治网站制作的网站爱站网seo查询
  • 网站规划的步骤注册自己的网站
  • 上海网络公司招聘信息seo培训费用
  • 营销软件哪个好长治网站seo
  • 海淀网站建设公司排名pc优化工具
  • 陕西购物商城网站建设数据分析网官网
  • 西宁疫情最新情况关键词整站优化
  • 漳州城乡住房建设部网站单页站好做seo吗
  • 做商城网站的公司点击器
  • 苏州网站开发培训搜索引擎营销的手段包括
  • 旅游网哪个平台好优化神马排名软件