mybatis操作原生sql
-
service 业务层
/**
* 根据表名查询字段值和数据库字段对应
* @return
*/
public List<Map<String,Object>> findFieldByTableName(String tableName) {//对所要查询的字符串进行拼接,然后将sql作为参数传入dao层 //查询t_fieldorder表中field_name的值 String sql = "SELECT * FROM t_fieldorder where table_name "+" = " +"'"+tableName+"'" + " ORDER BY id" ; List<Map<String,Object>> list = excelMapper.findFieldByTableName(sql); return list; }
-
mapper.java dao层
//@Param的vaalue值与mapper.xml中${value}的值相对应 //根据表名查询字段名称 List<Map<String,Object>> findFieldByTableName(@Param(value="value") String sql);
-
mapper.xml 操作sql
<?xml version="1.0" encoding="UTF-8"?><select id="findFieldByTableName" resultType="java.util.Map"> ${value} </select>