package com.china.bill.java.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class DbConnection {
private Connection conn = null;
private PreparedStatement ps = null;
private ResultSet rs = null;
// 连接数据库
private void open()
{
try
{
// 加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 获得连接
conn = DriverManager.getConnection("jdbc:" +
"mysql://localhost:3306/bill?useUnicode=true&characterEncoding=UTF-8","root","root");
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 执行增、删、改
public int update(String sql , Object...params)
{
int conut = 0;
try
{
// 打开数据库连接
open();
// 执行sql语句,获取结果
ps = conn.prepareStatement(sql);
//给占位符赋值
for (int i = 0 ; i < params.length ; i++)
{
ps.setObject(i+1, params[i]);
}
// 执行
conut = ps.executeUpdate();
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
close();
}
return conut;
}
/**
* 执行查询
*/
public ResultSet query(String sql,Object...params)
{
try {
// 打开连接
open();
// 执行sql语句,获得结果集
ps = conn.prepareStatement(sql);
//给占位符赋值
for (int i = 0; i < params.length; i++) {
ps.setObject(i+1, params[i]);
}
// 获得结果
rs = ps.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
// 关闭连接
private void close() {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
package com.china.bill.java.jdbc;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang.RandomStringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.china.bill.java.entity.EmailAddress;
import com.china.bill.java.util.PortalUtil;
public class AddEmail {
private static final Logger log = LoggerFactory.getLogger(AddEmail.class);
private static final DbConnection dbConnection = new DbConnection();
public static void main(String[] args)
{
/*EmailAddress emailAddress = new EmailAddress("", "");
int count = addEmail(emailAddress);
if (count > 0)
{
System.out.println("新增成功!");
}
else
{
System.out.println("新增失败!");
}*/
EmailAddress emailAddress = findEmilById(2);
System.out.println("账号\t" + emailAddress.getEmail() + "\t密码\t" + emailAddress.getPasswd());
// 解密
String passwd = PortalUtil.desPasswd(emailAddress.getPasswd(), emailAddress.getKeyCode());
System.out.println("密码\t" + passwd);
}
/**
* 新增管理员邮箱
* @param emailAddress
* @return
*/
public static int addEmail(EmailAddress emailAddress)
{
Map map = PortalUtil.aesPasswd(emailAddress.getPasswd(), "");
String passwd = null;
String keyCode = null;
if (map.size() == 2)
{
passwd = map.get("passwd");
keyCode = map.get("keyCode");
}
else
{
log.debug("加密失败!");
}
String sql = "insert into emailaddress (email, passwd, keyCode) values (?, ?, ?)";
int count = dbConnection.update(sql, emailAddress.getEmail(), passwd, keyCode);
return count;
}
public static EmailAddress findEmilById(Integer id)
{
String sql = "select * from emailaddress where id = ?";
ResultSet rs = dbConnection.query(sql, id);
EmailAddress emailAddress = null;
try {
while (rs.next())
{
emailAddress = new EmailAddress(rs.getString(2), rs.getString(3), rs.getString(4));
}
} catch (SQLException e) {
e.printStackTrace();
}
return emailAddress;
}
}