Mybatis使用注解代替XML配置,动态加载sql

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语句的查询等相关的操作.

12057079-12134eb373984fec.gif
test2.gif
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);
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值