nutz
一:POM依赖
<dependency> <groupId>org.nutz</groupId> <artifactId>nutz</artifactId> <version>1.r.56</version> </dependency>
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.16</version> </dependency>
二:yml 文件
Spring:
datasource:
url: jdbc:mysql://ip:port/dbname?useunicode=true&characterEncoding=utf8&allowMultiQueries=true username: root password: gozapdev driver-class-name: com.mysql.jdbc.Driver initial-size: 3 max-active: 20 min-idle: 2 validation-query: SELECT 1
三: Dbconfiguration
@Data @component @ConfigurationProperties(prefix = "spring.datasource") public class DBConfiguration { public static ConcurrentHashMap<String, Dao> concurrentHashMap; private String url; private String username; private String password; private String driverClassName; private integer initialSize; private Integer maxActive; private Integer Minidle; private String validationQuery; @PostConstruct public void init(){ Dao dao = getSysbasedao(); concurrentHashMap = new ConcurrentHashMap(); concurrentHashMap.put("dbname",dao); } public Dao getSysBaseDao() { DruidDataSource dataSource = new DruidDataSource(); dataSource.setInitialSize(initialSize); dataSource.setMaxActive(maxActive); dataSource.setMinIdle(minIdle); dataSource.setPoolPreparedstatements(true); dataSource.setUrl(url); dataSource.setUsername(username); dataSource.setPassword(password); dataSource.setDriverClassName(driverClassName); dataSource.setPoolPreparedStatements(true); dataSource.setValidationQuery("SELECT 1"); dataSource.setTestOnBorrow(true); Dao dao = new NutDao(dataSource); return dao; } }
四:使用
1:
public static Timestamp getMaxActionStamp(Long groupID) throws Exception{
Dao dao = DBSysBaseConfiguration.concurrentHashMap.get("dbname");
String sqlStr = "SELECT max(actionStamp) as actionStamp FROM 表 WHERE groupID = @groupID AND action IN (0,1)";
Sql sql = Sqls.create(sqlStr);
sql.setParam("groupID", groupID);
sql.setCallback(new SqlCallback(){
@Override
public Object invoke(Connection connection, ResultSet rs, Sql sql) throws SQLException {
Timestamp result = null;
while (rs.next()){
result = rs.getTimestamp("actionStamp");
}
return result;
}
});
dao.execute(sql);
return sql.getObject(Timestamp.class);
}
2:
public static List<AAA> getAAAList(Long groupID) throws Exception{
Dao dao = DBSysBaseConfiguration.concurrentHashMap.get("dbname");
String sqlStr = "SELECT aa from biao where groupID = @groupID ";
stringbuilder sqlAPP = new StringBuilder(sqlStr);
Sql sql = Sqls.create(sqlApp.toString());
sql.setParam("groupID", groupID);
sql.setCallback(new SqlCallback(){
@Override
public List<AAA> invoke(Connection conn, ResultSet rs, Sql sql) throws SQLException {
List<AAA> list = new ArrayList<>();
while (rs.next()){
AAA model = new AAA();
model.setCreateBy(createBycontent);
list.add(model);
}
return list;
}
});
dao.execute(sql);
return sql.getList(AAA.class);
}