学习BeetlSQL总结(2)
经过上节的学习,我们已经了解了BeetlSQL的基础,接下来我们深入的学习BeetlSQL
一.BeetlSQL说明
1。获得SQLManager是系统的核心,它提供了所有的刀方法,获得SQLManager,可以直接构造SQLManager,并通过单例获取
<代码>=ConnectionSourceHelper ConnectionSource来源。getSimple (mysqlDriver、url、用户名、密码); DBStyle mysql=new MySqlStyle ();//SQL语句放于类路径的SQL目录下 SQLLoader装载机=new ClasspathLoader (“/sql”);//数据库命名和java命名一样,所以采用DefaultNameConversion,还有一个UnderlinedNameConversion下划线风格的 UnderlinedNameConversion数控=new UnderlinedNameConversion ();//最后,创建一个SQLManager, DebugInterceptor,不是必须的,但可以通过它查看SQL的执行情况 SQLManager SQLManager=new SQLManager (mysql、装载机、源、数控、新的拦截器[]{新DebugInterceptor()}); 代码>
如果已经有了数据源,创建ConnectionSource可以采用如下代码:
<代码>=ConnectionSourceHelper.getSingle ConnectionSource来源(数据源);代码>
如果是主从数据源:
<代码>=ConnectionSourceHelper.getMasterSlave ConnectionSource来源(主人,奴隶)代码>
2。查询API
(1)简单查询(自动生成sql)
T·公共独特(clazz类,对象pk)根据主键查询,如果未找的到,抛出异常
T·公共单(clazz类,对象pk)根据主键查询,如果没找的到,返回零
·公开列出所有(类clazz)查询所有结果集
·公开列出所有(大小类clazz, int, int)翻页
·公共int allCount (Class<?比;clazz)总数
(2)单表查询
SQLManager提供了查询类可以实现单表查询操作
<代码>//7。单表查询 System.out.println(“开始执行单表查询”); List列表=sqlManager.query (User.class) .andEq(“名字”,“曼斯坦因”).orderBy (create_date) .select (); System.out.println(“打印查询结果:”); (用户user1:列表){ System.out.println (user1); }代码>
其中sql.query (User.class)返回了查询类用于单表查询
执行结果:
然而,如果你只用特定的数据库,可以按照特定的数据库习俗来,比如你只用mysql, satrt为0代表起始记录,需要配置
<代码> OFFSET_START_ZERO=true 代码>
这样翻页参数传入0即可
注意:模板查询方法根据模板查询不包含时间段查询,也不包含排序,然而,可以通过pojo类上使用@ table模板()或者日期字段的getter方法上使用@DataTemplate(来定制),如下:
用户登录验证:
<代码>//8。使用模板方法查询 用户模板=新用户(); template.setUserName (“zhukefu”); template.setPassword (“123456”); template.setStatus(1);执行结果: 用户user2=sqlManager.templateOne(模板); System.out.println(“打印模板查询结果:”+ user2); 代码>