自己封装的数据源(支持多种数据库访问,内部实现线程池 基于bonecp)
2015-08-12 15:21
525 查看
一个简简单的数据访问封装,有错误的地方希望大家给我留言共同提高,源码下载链接(jar 包)
http://download.csdn.net/detail/u011658193/8675403
[java] view
plaincopy
package com.xiaojia.database.dao;
import com.xiaojia.database.Connection;
public class BaseDao extends Connection {
/**
* 此类描述 继承Connection 实现数据源
*/
static{
/**
* 第一个参数,路径
* 第二个参数,用户名
* 第三个参数,密码(没有写空)
* 第四个参数,驱动(支持多数据库)
*/
init("jdbc:mysql://127.0.0.1:3306/test", "root", "","com.mysql.jdbc.Driver");
//setDriverClass("com.mysql.jdbc.Driver");
}
}
[java] view
plaincopy
package com.xiaojia.database.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.xiaojia.database.ResultSetHandler;
import com.xiaojia.database.model.User;
public class UserDao extends BaseDao {
// 单例
private static UserDao instance = new UserDao();
public static UserDao getInstance() {
return instance;
}
private UserDao(){};
// 添加
private String addUser_sql = "insert into t_user(phonenum,password) values(?,?)";
public boolean addUser(User user) throws SQLException {
boolean result = super.addObject(addUser_sql, new Object[]{user.getPhonenum(),user.getPassword()});
return result;
}
// 修改
private String updUser_sql = "update t_user set phonenum=? where id=?";
public boolean updateUser(User user) throws SQLException {
boolean result = super.updateObject(updUser_sql, new Object[]{user.getPhonenum(),user.getUid()});
return result;
}
// 删除
private String delUser_sql = "delete from t_user where id=?";
public boolean delUser(int uid) throws SQLException {
return super.deleteObject(delUser_sql,new Object[]{uid});
}
private String listUser_sql = "select * from t_user";
// 列表
public List<User> listUser() throws SQLException {
return super.get(listUser_sql, new ResultSetHandler<List<User>>() {
List<User> userArray = new ArrayList<User>();
@Override
public List<User> handle(ResultSet rs) throws SQLException {
while(rs.next()) {
User user = new User();
user.setCreatetime(rs.getString("createtime"));
user.setPassword(rs.getString("password"));
user.setPhonenum(rs.getString("phonenum"));
userArray.add(user);
}
return userArray;
}
});
}
}
[java] view
plaincopy
package com.xiaojia.database.model;
import java.io.Serializable;
public class User implements Serializable {
private static final long serialVersionUID = 2942802677651309244L;
private String uid;
private String phonenum;
private String password;
private String createtime;
private String status;
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
public String getPhonenum() {
return phonenum;
}
public void setPhonenum(String phonenum) {
this.phonenum = phonenum;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getCreatetime() {
return createtime;
}
public void setCreatetime(String createtime) {
this.createtime = createtime;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
@Override
public String toString() {
return "User [uid=" + uid + ", phonenum=" + phonenum + ", password="
+ password + ", createtime=" + createtime + ", status="
+ status + "]";
}
}
[java] view
plaincopy
package com.xiaojia.database.service;
import java.sql.SQLException;
import java.util.List;
import com.xiaojia.database.dao.UserDao;
import com.xiaojia.database.model.User;
public class UserServiceImpl {
public boolean addUser(User user) {
try {
return UserDao.getInstance().addUser(user);
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
public boolean updateUser(User user) {
try {
return UserDao.getInstance().updateUser(user);
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
public boolean delUser(int uid) {
try {
return UserDao.getInstance().delUser(uid);
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
public List<User> listUser() {
try {
return UserDao.getInstance().listUser();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
User user = new User();
UserServiceImpl ser = new UserServiceImpl();
// user.setPhonenum("12121212");
// user.setPassword("12121212");
// ser.addUser(user);
// user.setPhonenum("2323232323");
// user.setUid("46");
// ser.updateUser(user);
// ser.delUser(45);
System.out.println(ser.listUser().toString());
}
}
http://download.csdn.net/detail/u011658193/8675403
[java] view
plaincopy
package com.xiaojia.database.dao;
import com.xiaojia.database.Connection;
public class BaseDao extends Connection {
/**
* 此类描述 继承Connection 实现数据源
*/
static{
/**
* 第一个参数,路径
* 第二个参数,用户名
* 第三个参数,密码(没有写空)
* 第四个参数,驱动(支持多数据库)
*/
init("jdbc:mysql://127.0.0.1:3306/test", "root", "","com.mysql.jdbc.Driver");
//setDriverClass("com.mysql.jdbc.Driver");
}
}
[java] view
plaincopy
package com.xiaojia.database.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.xiaojia.database.ResultSetHandler;
import com.xiaojia.database.model.User;
public class UserDao extends BaseDao {
// 单例
private static UserDao instance = new UserDao();
public static UserDao getInstance() {
return instance;
}
private UserDao(){};
// 添加
private String addUser_sql = "insert into t_user(phonenum,password) values(?,?)";
public boolean addUser(User user) throws SQLException {
boolean result = super.addObject(addUser_sql, new Object[]{user.getPhonenum(),user.getPassword()});
return result;
}
// 修改
private String updUser_sql = "update t_user set phonenum=? where id=?";
public boolean updateUser(User user) throws SQLException {
boolean result = super.updateObject(updUser_sql, new Object[]{user.getPhonenum(),user.getUid()});
return result;
}
// 删除
private String delUser_sql = "delete from t_user where id=?";
public boolean delUser(int uid) throws SQLException {
return super.deleteObject(delUser_sql,new Object[]{uid});
}
private String listUser_sql = "select * from t_user";
// 列表
public List<User> listUser() throws SQLException {
return super.get(listUser_sql, new ResultSetHandler<List<User>>() {
List<User> userArray = new ArrayList<User>();
@Override
public List<User> handle(ResultSet rs) throws SQLException {
while(rs.next()) {
User user = new User();
user.setCreatetime(rs.getString("createtime"));
user.setPassword(rs.getString("password"));
user.setPhonenum(rs.getString("phonenum"));
userArray.add(user);
}
return userArray;
}
});
}
}
[java] view
plaincopy
package com.xiaojia.database.model;
import java.io.Serializable;
public class User implements Serializable {
private static final long serialVersionUID = 2942802677651309244L;
private String uid;
private String phonenum;
private String password;
private String createtime;
private String status;
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
public String getPhonenum() {
return phonenum;
}
public void setPhonenum(String phonenum) {
this.phonenum = phonenum;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getCreatetime() {
return createtime;
}
public void setCreatetime(String createtime) {
this.createtime = createtime;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
@Override
public String toString() {
return "User [uid=" + uid + ", phonenum=" + phonenum + ", password="
+ password + ", createtime=" + createtime + ", status="
+ status + "]";
}
}
[java] view
plaincopy
package com.xiaojia.database.service;
import java.sql.SQLException;
import java.util.List;
import com.xiaojia.database.dao.UserDao;
import com.xiaojia.database.model.User;
public class UserServiceImpl {
public boolean addUser(User user) {
try {
return UserDao.getInstance().addUser(user);
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
public boolean updateUser(User user) {
try {
return UserDao.getInstance().updateUser(user);
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
public boolean delUser(int uid) {
try {
return UserDao.getInstance().delUser(uid);
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
public List<User> listUser() {
try {
return UserDao.getInstance().listUser();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
User user = new User();
UserServiceImpl ser = new UserServiceImpl();
// user.setPhonenum("12121212");
// user.setPassword("12121212");
// ser.addUser(user);
// user.setPhonenum("2323232323");
// user.setUid("46");
// ser.updateUser(user);
// ser.delUser(45);
System.out.println(ser.listUser().toString());
}
}
相关文章推荐
- normal、sysdba、sysoper登陆oracle的区别理解
- windows mysql 自动备份的几种方法
- SQL Server Migration Assistant for MySQL(SSMA),数据迁移后的一些善后操作
- 批处理执行多个SQL文件到oracle
- pl/sql developer 编码格式设置
- memcached 配置说明
- SQL中Group By的使用
- Oracle 数据列值拆分
- 积累的oracle操作
- 积累的oracle操作
- oracle 时间查询
- sql 查询数据小计 合计
- Oracle jdbc DB2、Oracle、MySQL、PostgreSQL,并取当前时间。
- oracle 查询最后一条记录
- 各种数据库(oracle、mysql、sqlserver等)在Spring中数据源的配置和JDBC驱动包
- SQL 的case when 的用法
- CPP/VCPP_连接Oracle数据库-OCILIB
- 如何提高sql查询的效率
- 使用Memcache储存Session
- 学习MongoDB的好地方