1.MyBatis3简介
参考网站:http://www.mybatis.org/mybatis-3/zh/index.html
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
2.Sql查询的小Demo
这个执行sql的文件的Demo主要执行简单的相关的CRUD的动态的sql,可以显示相关的数据,但是需要改换为相关的数据库的配置.这个请自行修改yml的配置.这里显示的只是数据结果的text的格式,显示的结果比较简单,主要用于简单的sql语句的查询等相关的操作.
3.相关代码
SqlController
@RestController
@Slf4j
public class SqlController {
private SqlService sqlService;
@Autowired
public SqlController(SqlService sqlService) {
this.sqlService = sqlService;
}
/**
* 这里传入sql语句
*/
@RequestMapping("queryAll")
public List<Demo> queryAll(String sql) {
log.info("sql->" + sql);
List<Demo> demoList = sqlService.queryAll(sql);
return demoList;
}
/**
* 增加
* @param sql
* @return
*/
@RequestMapping("insertDemo")
public String insertDemo(String sql) {
sqlService.insertDemo(sql);
return "插入成功,语句为:"+sql;
}
@RequestMapping("updDemo")
public String updDemo(String sql) {
sqlService.updDemo(sql);
return "修改成功,语句为:"+sql;
}
@RequestMapping("delDemo")
public String delDemo(String sql) {
sqlService.delDemo(sql);
return "删除成功,语句为:"+sql;
}
@RequestMapping("test")
public String test01() {
return "test Demo!";
}
}
SqlServiceImpl
@Service
public class SqlServiceImpl implements SqlService {
@Autowired
private SqlDao sqlDao;
@Override
public List<Demo> queryAll(String sql) {
List<Demo> demos = sqlDao.queryAll(sql);
return demos;
}
@Override
public void insertDemo(String sql) {
sqlDao.insertDemo(sql);
}
@Override
public void updDemo(String sql) {
sqlDao.updDemo(sql);
}
@Override
public void delDemo(String sql) {
sqlDao.delDemo(sql);
}
}
4.注解查询相关
注意 我们的Mapper接口可以使用插值表达式:这里的 #{id}可以获得@Param("id")中的值 从而查找出来,ResultType为返回的相应的类
@Select("select * from demo where id = #{id}")
@ResultType(Demo.class)
Demo selectById(@Param("id")String id);