网站建设必须买主机吗,wordpress编辑网页,网站建设管理 自查 报告,网站备案号没有-1文章目录前言案例dao和mapper编写XXXmapper.xml编写编写业务层代码#xff0c;进行注入调用额外扩展--创建表语句前言
在平时的项目开发中#xff0c;mybatis应用非常广泛#xff0c;但一般都是直接CRUD类型sql的执行。
本片博客主要说明一个另类的操作#xff0c;注入sq…
文章目录前言案例dao和mapper编写XXXmapper.xml编写编写业务层代码进行注入调用额外扩展--创建表语句前言
在平时的项目开发中mybatis应用非常广泛但一般都是直接CRUD类型sql的执行。
本片博客主要说明一个另类的操作注入sql并使用mybatis执行。
案例
dao和mapper编写
三层架构中dao层主要用于对数据库的操作。当项目配置好数据库的连接配置后在dao层中可以编写如下的接口。
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;Mapper
Repository
public interface CommonSqlMapper {/*** 根据注入的sql新增数据* param sql*/void insertData(Param(value sql) String sql);/*** 根据注入的sql更新数据* param sql* return*/Integer updateData(Param(value sql) String sql);/*** 依据条件查询满足条件的所有数据集信息* param selectSql* return*/ListMakeUpDataPo queryData(Param(value selectSql) String selectSql);
}XXXmapper.xml编写
编写一个与CommonSqlMapper.java与之对应映射的CommonSqlMapper.xml文件其中可以对对应的方法编写如下的sql
?xml version1.0 encodingUTF-8?
!DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespacecom.xxx.xxx.CommonSqlMapper!-- 修改 --update idupdateData ${sql}/update!-- 新增 --insert idinsertData${sql}/insert!-- 查询所有 --select idqueryData resultTypecom.xxx.xxx.po.MakeUpDataPo${selectSql}/select/mapper编写业务层代码进行注入调用
Service
public class TestService{Autowiredprivate CommonSqlMapper commonSqlMapper;public void test(){String sql select * from xj_test where name xj;commonSqlMapper.queryData(sql);}
}额外扩展–创建表语句
如果想要使用mybatis执行建表sql此时可以这么写 /*** 新增数据表* param tableName 表名称* param rowSql 表字段拼接sql*/
void createTable(Param(value tableName) String tableName,Param(value rowSql) String rowSql);对应的xxxx.xml中编写如下语句
!-- 创建表 --
insert idcreateTable statementTypeSTATEMENTcreate table ${tableName} (id VARCHAR2(32) NOT NULL,${rowSql},PRIMARY KEY (id))
/insert【注意】 这里并不能直接进行 ${cresteTableSql} 的执行必须写成上面的这种方式否则将不能成功