package com.hnkjxy.service;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.hnkjxy.model.User;
public class UserManager {
//数据库驱动程序
public static final String DRIVER ="com.microsoft.sqlserver.jdbc.SQLServerDriver";
//数据库连接URL
public static final String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=hrdb";
//数据库登录用户名
public static final String DBNAME ="数据库账号";
//数据库登录密码
public static final String DBPASS ="登录密码";
private Connection conn = null;
private PreparedStatement pstat = null;
private ResultSet rs = null;
/*
* 创建数据库连接的方法
* @return
* @throws ClassNotFoundException
* @throwsSQLException
*/
public Connection getConn() throws ClassNotFoundException, SQLException {
//1.加载驱动
Class.forName(DRIVER);
//2.链接数据库
conn = DriverManager.getConnection(URL, DBNAME, DBPASS);
return conn;
}
/*
* 释放资源
*/
public void closeAll() {
//如果rs不为空。关闭rs
if(rs != null) {
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//如果pstat不为空。关闭pstat
if(pstat != null) {
try {
pstat.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//如果conn不为空。关闭conn
if(conn != null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
//新增用户的方法
public int addUser(User user) throws Exception{
//先判断插入的用户对象是否已存在
try {
User u = this.getUserByName(user.getUserName());
if(u == null) {
//可以插入数据
conn = this.getConn();
String sql = "insert into tbl_user(UserName,Password,Sex,Hobby,Province) values(?,?,?,?,?)";
pstat = conn.prepareStatement(sql);
pstat.setString(1,user.getUserName());
pstat.setString(2,user.getUserPassword());
pstat.setString(3,user.getSex());
pstat.setString(4,user.getHobby());
pstat.setString(5,user.getProvince());
int result = pstat.executeUpdate();
return result;
}else {
throw new Exception("编号为"+user.getUserName()+"的用户信息已存在,新增失败!");
}
}catch (ClassNotFoundException | SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return -1;
}finally {
this.closeAll();
}
}
//根据用户名进行查找的方法
public User getUserByName (String userName) {
try {
conn = this.getConn();
String sql = "select * from tbl_user where UserName = ?";
pstat = conn.prepareStatement(sql);
pstat.setString(1,userName);
rs = pstat.executeQuery();
//将rs包装成User
User user = null;
while(rs.next()) {
user = new User();
user.setUserName(rs.getString("UserName"));
user.setUserPassword(rs.getString("Password"));
user.setSex(rs.getString("Sex"));
user.setHobby(rs.getString("Hobby"));
user.setProvince(rs.getString("Province"));
}
return user;
} catch (ClassNotFoundException | SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}finally {
this.closeAll();
}
}
}
Java连接SQLserver数据库基操
猜你喜欢
转载自blog.csdn.net/qq_43300003/article/details/93227831
今日推荐
周排行