1.封装对数据库的操作,
特别注意的应该是 POJO封装的 字段应该和 数据库中表的字段一致 该有下划线的应该有下划线,否则可能出现 查询出来的字段为 NULL的情况
所需要的jar是 commons-dbutils-1.4.jar
package com.jxc.dao.sunlirao;
import com.jxc.pojo.sunlirao.Goods;
import com.jxc.pojo.supplier;
import com.jxc.util.sunlirao.DateTimeUtil;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
public class BaseDao{
public Connection getConnection(){
Connection conn = null;
// String jdbcURL = "39.105.75.221:3306/jxc?characterEncoding=utf-8";
String jdbcURL = "jdbc:mysql://39.105.75.221:3306/jxc?characterEncoding=utf-8";
String jdbcDriver = "com.mysql.jdbc.Driver";
String user = "root";
String password = "******";
try {
DbUtils.loadDriver(jdbcDriver);
conn = DriverManager.getConnection(jdbcURL, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
/**
* 查找多个对象
* @param sqlString
* @param clazz
* @return
*/
public List query(String sqlString, Class clazz) {
List beans = null;
Connection conn = null;
try {
conn = getConnection();
QueryRunner qRunner = new QueryRunner();
beans =
(List) qRunner.query(
conn,
sqlString,
new BeanListHandler(clazz));
} catch (SQLException e) {
e.printStackTrace();
} finally {
DbUtils.closeQuietly(conn);
}
return beans;
}
public List<supplier> querySupplier(String sql){
List<supplier> list=new ArrayList<>();
Connection con=null;
con=getConnection();
try {
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(sql);
while(rs.next()){
supplier s=new supplier();
s.setPid(rs.getInt(1));
s.setPjname(rs.getString(2));
s.setPname(rs.getString(3));
s.setPerson(rs.getString(4));
s.setChengwei(rs.getString(5));
s.setPhone(rs.getString(6));
s.setMphone(rs.getString(7));
s.setChuanzhen(rs.getString(8));
s.setGsAddress(rs.getString(9));
s.setGcAddress(rs.getString(10));
//System.out.print(s.toString());
list.add(s);
}
} catch (SQLException ex) {
Logger.getLogger(BaseDao.class.getName()).log(Level.SEVERE, null, ex);
}
return list;
}
public List<Goods> queryGoods(String sql){
List<Goods> list=new ArrayList<>();
Connection con=null;
con=getConnection();
try {
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(sql);
while(rs.next()){
Goods s = new Goods();
s.setCid(rs.getInt(1));
s.setGname(rs.getString(2));
s.setSestock(rs.getInt(3));
s.setPrice(rs.getInt(4));
s.setXsprice(rs.getInt(5));
s.setNumber(rs.getInt(6));
s.setGettime(DateTimeUtil.baseStrtoShowStr(rs.getString(7)));
s.setPuttime(DateTimeUtil.baseStrtoShowStr(rs.getString(8)));
list.add(s);
}
} catch (SQLException ex) {
Logger.getLogger(BaseDao.class.getName()).log(Level.SEVERE, null, ex);
}
return list;
}
/**
* 查找对象
* @param sqlString
* @param clazz
* @return
*/
public Object get(String sqlString, Class clazz) {
List beans = null;
Object obj = null;
Connection conn = null;
try {
conn = getConnection();
QueryRunner qRunner = new QueryRunner();
beans =
(List) qRunner.query(
conn,
sqlString,
new BeanListHandler(clazz));
} catch (SQLException e) {
e.printStackTrace();
} finally {
DbUtils.closeQuietly(conn);
}
if(beans!=null && !beans.isEmpty()){ //注意这里
obj=beans.get(0);
}
return obj;
}
/**
* 执行更新的sql语句,插入,修改,删除
* @param sqlString
* @return
*/
public boolean update(String sqlString,Object[] params) {
Connection conn = null;
boolean flag = false;
try {
conn = getConnection();
QueryRunner qRunner = new QueryRunner();
int i = qRunner.update(conn,sqlString,params);
if (i > 0) {
flag = true;
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DbUtils.closeQuietly(conn);
}
return flag;
}
}
时间转换格式 策略
package com.jxc.util.sunlirao;
import java.text.SimpleDateFormat;
import java.time.format.DateTimeFormatter;
import java.util.Date;
public class DateTimeUtil {
// //joda-time
//
// //str->Date
// //Date->str
public static final String STANDARD_FORMAT = "yyyy-MM-dd";
public static String baseStrtoShowStr(String dateTimeStr){
SimpleDateFormat simpleDateFormat=new SimpleDateFormat(STANDARD_FORMAT);
String st2=simpleDateFormat.format(Long.parseLong(dateTimeStr));
return st2;
}
public static String DatetoBaseStr(Date date){
String da=String.valueOf(new Date().getTime());
return da;
}
public static void main(String[] args) {
String s=String.valueOf(new Date().getTime());
System.out.println(s);
System.out.println(baseStrtoShowStr(s));
}
}
3.验证是否是纯数字
public static boolean numberValidCheck(String s){
//验证数字
String regex = "^(\\d+)|(\\d+\\.\\d+)$";
if(s.matches(regex)){
return true;
}else{
return false;
}
}