nutz
来源:互联网 发布:数学英文词典软件 编辑:程序博客网 时间:2024/04/30 07:44
import javax.sql.DataSource;import org.nutz.dao.Dao;import org.nutz.dao.impl.NutDao;import org.nutz.dao.impl.SimpleDataSource;public class DaoHelper {private static SimpleDataSource ds;private static Dao dao;private static DataSource getDS() {if (null == ds) {ds = new SimpleDataSource();ds.setJdbcUrl("jdbc:mysql://localhost:3306/AS01");ds.setUsername("root");ds.setPassword("");}return ds;}public static Dao dao() {if (null == dao) {dao = new NutDao(getDS());}return dao;}}
官网的解释:
何为DataSource
先看看JDK中对DataSource的描述:
- 作为 DriverManager 工具的替代项,DataSource 对象是获取连接的首选方法。
- 基本实现 - 生成标准的 Connection 对象
- 连接池实现 - 生成自动参与连接池的 Connection 对象。此实现与中间层连接池管理器一起使用。
简单来说,就是获取数据库连接的一个通用接口, 常见的dbcp,c3p0,druid都是DataSource的实现.
NutDao也选用DataSource作为获取数据库连接的方式, 且只调用其无参数的getConnection()方法, 也是大部分数据库连接池唯一支持的方法.
提醒一下, DataSource只是接口,不等于连接池
NutDao不挑剔任何连接池/DataSource实现,只要实现了DataSource接口就行,不存在是否支持"XXXX连接池"的问题
public Account regAccount(Account account) {if (null != account) {if (StringUtil.isNotEmpty(account.getUsername()) && StringUtil.isNotEmpty(account.getPassword())) {account.setPassword(new MD5().getMD5ofStr(account.getPassword()));return DaoHelper.dao().insert(account);}}return null;}public List<Account> queryAccount() throws ClassNotFoundException, SQLException {return DaoHelper.dao().query(Account.class, null);}public Account getByUsernameAndPassword(String username, String password) {String pwd = new MD5().getMD5ofStr(password);return DaoHelper.dao().fetch(Account.class,Cnd.where("username","=",username).and("password","=",pwd));}
- 插入 Insert
- 删除 Delete
- 更新 Update
- 查询 Query
可以说,这四种操作涵盖了所有的数据操作。并且,除了 插入 操作,所有的操作都是可以一次针对多条记录的。
但是,Nutz.Dao 认为从使用者的角度来看,这四种操作还是有所不同的。比如,查询返回的结果,很多时候仅仅是一条记录。 我们需要为这种情况进行优化。所以,Nutz.Dao 在传统关系型数据库数据操作的基础上定义了如下的数据操作:
插入Insert一条 SQL 插入一条记录或者多条记录插入FastInsert一条 SQL ,通过batch插入多条记录删除Delete一条 SQL 删除一条记录更新Update一条 SQL 更新一条或者多条记录获取Fetch一条 SQL 获取一条记录查询Query一条 SQL 根据条件获取多条记录清除Clear一条 SQL 根据条件删除多条记录建表Create根据实体建表删表Drop根据实体/表名称进行删表聚合Func执行sum,count等操作阅读全文
0 0
- nutz
- nutz
- Nutz
- Nutz
- Nutz简介
- Why Nutz
- websocket nutz
- nutz入门
- Nutz logoJava应用框架 Nutz
- Nutz | Nutz项目整合Spring实战
- 发现了nutz
- 开始使用nutz
- Nutz:ssh最佳替代品
- nutz first demo
- nutz dao 操作
- Nutz获取ActionContext
- Nutz @Ok 注解
- Nutz - 关于返回json
- 遇到多个构造器参数时要考虑用构建器
- Matplotlib库入门
- 《算法》第四版中文——学习资料
- 如何通过反射访问私有变量和私有方法
- 设计模式(八)abstruct factory
- nutz
- iOS
- xxx is not in the sudoers file.This incident will be reported.的解决方法
- HTTP协议详解(真的真的很经典)
- 51Nod-1678-lyk与gcd
- android QMI机制---QCRIL消息发送
- js点击缩略图,整屏居中放大图片
- 【异常】-ubuntu常见错误--Could not get lock /var/lib/dpkg/lock解决
- Linux下安装和配置SVN详细笔记