mybatis系列-sql 类的简单使用
mybatis 还有个比较有趣的功能,就是使用 SQL 类生成 sql,有点类似于 hibernate 或者像 php 的 laravel 框架等的,就是把sql 这种放在 xml 里或者代码里直接写 sql 用对象的形式
select语句
比如这样
public static void main(String[] args) {
String selectSql = new SQL() {{
SELECT("id", "name");
FROM("student");
WHERE("id = #{id}");
}}.toString();
System.out.println(selectSql);
}
打印出来就是
SELECT id, name
FROM student
WHERE (id = #{id})
应付简单的 sql 查询基本都可以这么解决,如果习惯这种模式,还是不错的,
其实以面向对象的编程模式来说,这样是比较符合面向对象的,先不深入的解析这块的源码,先从使用角度讲一下
比如 update 语句
String updateSql = new SQL() {{
UPDATE("student");
SET("name = #{name}");
WHERE("id = #{id}");
}}.toString();
打印输出就是
UPDATE student
SET name = #{name}
WHERE (id = #{id})
insert 语句
String insertSql = new SQL() {{
INSERT_INTO("student");
VALUES("name", "#{name}");
VALUES("age", "#{age}");
}}.toString();
System.out.println(insertSql);
打印输出
INSERT INTO student
(name, age)
VALUES (#{name}, #{age})
delete语句
String deleteSql = new SQL() {{
DELETE_FROM("student");
WHERE("id = #{id}");
}}.toString();
System.out.println(deleteSql);
打印输出
DELETE FROM student
WHERE (id = #{id})