当前位置: 首页 > 工具软件 > Nutz > 使用案例 >

nutz使用

齐夕
2023-12-01

一: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);
    }

 类似资料: