如何实现java与mysql的链接

将mysql驱动包导入到当前项目中,将驱动链接封装,以方便之后的使用mysql

1.封装链接数据库的方法sql

public class MyConn {
private static final String Driver="com.mysql.jdbc.Driver";//驱动名称
private static final String url="jdbc:mysql://localhost:3306/store";//你的mysql数据库表的路径
private static final String USER="root";//用户名
private static final String PWD="******";//密码
public static Connection getConn() {
Connection connection=null;
try {
Class.forName(Driver);
connection=DriverManager.getConnection(url, USER, PWD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return connection;
}
public static void close(Connection con,PreparedStatement ps,ResultSet rs) {//使用完必须关闭链接
try {
if (rs!=null) {
rs.close();
}
if (ps!=null) {
ps.close();
}
if (con!=null) {
con.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
数据库

2.调用以上方法以实现对数据库的访问ide

public class EmpDaoImpl implements EmpDao {
Connection con=null;
PreparedStatement ps=null;
ResultSet rs=null;
String sql=null;
boolean flage=false;
@Override
public boolean addEmp(Emp emp) {//增长员工信息
sql="insert into emp values(0,?,?,?,?,?,?,?,?,?)";
con=MyConn.getConn();
try {
ps=con.prepareStatement(sql);
ps.setString(1, emp.getEmpName());
ps.setString(2, emp.getPwd());
ps.setString(3, emp.getSex());
ps.setInt(4, emp.getAge());
ps.setString(5, emp.getAddress());
ps.setString(6, emp.getTel());
ps.setInt(7, emp.getDeptId());
ps.setString(8, emp.getEmpPosition());
ps.setInt(9, emp.getSalary());
int result=ps.executeUpdate();
if (result>0) {
flage=true;
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
MyConn.close(con, ps, rs);
}
return flage;
}


@Override
public boolean updateEmp(Emp emp) {//修改员工信息
sql="update emp set empName=?,pwd=?,empGender=?,empAge=?,empAddress=?,tel=?,deptId=?,empPosition=?,salary=? where empId=?";
con=MyConn.getConn();
try {
ps=con.prepareStatement(sql);
ps.setString(1, emp.getEmpName());
ps.setString(2, emp.getPwd());
ps.setString(3, emp.getSex());
ps.setInt(4, emp.getAge());
ps.setString(5, emp.getAddress());
ps.setString(6, emp.getTel());
ps.setInt(7, emp.getDeptId());
ps.setString(8, emp.getEmpPosition());
ps.setInt(9, emp.getSalary());
ps.setInt(10, emp.getEmpId());
int result=ps.executeUpdate();
if (result>0) {
flage=true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
MyConn.close(con, ps, rs);
}
return flage;
}


@Override
public boolean deleteEmp(int empId) {//删除员工信息
sql="delete from emp where empId=?";
con=MyConn.getConn();
try {
ps=con.prepareStatement(sql);
ps.setInt(1,empId);
int result=ps.executeUpdate();
if (result>0) {
flage=true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
MyConn.close(con, ps, rs);
}

return flage;
}


@Override
public List<Emp> queryAll() {//查询全部员工信息
List<Emp> list=new ArrayList<Emp>();
sql="SELECT e.*,d.deptname FROM emp e INNER JOIN dept d ON e.deptid=d.deptid";
con=MyConn.getConn();
try {
ps=con.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next()) {
Emp emp=new Emp();
emp.setEmpId(rs.getInt(1));
emp.setEmpName(rs.getString(2));
emp.setPwd(rs.getString(3));
emp.setSex(rs.getString(4));
emp.setAge(rs.getInt(5));
emp.setAddress(rs.getString(6));
emp.setTel(rs.getString(7));
emp.setDeptId(rs.getInt(8));
emp.setEmpPosition(rs.getString(9));
emp.setSalary(rs.getInt(10));
emp.setDept(rs.getString(11));
list.add(emp);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
MyConn.close(con, ps, rs);
}
return list;
}


@Override
public List<Emp> queryByPage(int page, int pageSize) {//分页查询
List<Emp> list=new ArrayList<Emp>();
sql="select * from emp limit ?,?";
con=MyConn.getConn();
try {
ps=con.prepareStatement(sql);
ps.setInt(1, (page-1)*pageSize);
ps.setInt(2, pageSize);
rs=ps.executeQuery();
while(rs.next()) {
Emp emp=new Emp();
emp.setEmpId(rs.getInt(1));
emp.setEmpName(rs.getString(2));
emp.setPwd(rs.getString(3));
emp.setSex(rs.getString(4));
emp.setAge(rs.getInt(5));
emp.setAddress(rs.getString(6));
emp.setTel(rs.getString(7));
emp.setDeptId(rs.getInt(8));
emp.setEmpPosition(rs.getString(9));
emp.setSalary(rs.getInt(10));
list.add(emp);
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
MyConn.close(con, ps, rs);
}
return list;
}


@Override
public Emp queryById(int empId) {//经过员工编号来查询
Emp emp=new Emp();
sql="select * from emp where empId=?";
con=MyConn.getConn();
try {
ps=con.prepareStatement(sql);
ps.setInt(1, empId);
rs=ps.executeQuery();
while(rs.next()) {
emp.setEmpId(rs.getInt(1));
emp.setEmpName(rs.getString(2));
emp.setPwd(rs.getString(3));
emp.setSex(rs.getString(4));
emp.setAge(rs.getInt(5));
emp.setAddress(rs.getString(6));
emp.setTel(rs.getString(7));
emp.setDeptId(rs.getInt(8));
emp.setEmpPosition(rs.getString(9));
emp.setSalary(rs.getInt(10));
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
MyConn.close(con, ps, rs);
}
return emp;
}


@Override
public int count() {//查询员工的个数
int count = 0;
con=MyConn.getConn();
sql="select count(*) from emp";
try {
ps=con.prepareStatement(sql);
rs=ps.executeQuery();
if (rs.next()) {
count=rs.getInt(1);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
MyConn.close(con, ps, rs);
}
return count;
}


@Override
public boolean login(int empId, String pwd) {//查询员工是否登录成功
con=MyConn.getConn();
sql="select * from emp where empId=? and pwd=?";
try {
ps=con.prepareStatement(sql);
ps.setInt(1, empId);
ps.setString(2, pwd);
rs=ps.executeQuery();
if (rs.next()) {
flage=true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("异常");
}finally {
MyConn.close(con, ps, rs);
}
return flage;
}


@Override
public List<Emp> queryByName(String name) {//经过姓名查找员工
List<Emp> list=new ArrayList<Emp>();
con=MyConn.getConn();
sql="SELECT e.*,d.deptname FROM emp e INNER JOIN dept d ON e.deptid=d.deptid where empName like ?";
try {
ps=con.prepareStatement(sql);
ps.setString(1, "%"+name+"%");
rs=ps.executeQuery();
while(rs.next()) {
Emp emp=new Emp();
emp.setEmpId(rs.getInt(1));
emp.setEmpName(rs.getString(2));
emp.setPwd(rs.getString(3));
emp.setSex(rs.getString(4));
emp.setAge(rs.getInt(5));
emp.setAddress(rs.getString(6));
emp.setTel(rs.getString(7));
emp.setDeptId(rs.getInt(8));
emp.setEmpPosition(rs.getString(9));
emp.setSalary(rs.getInt(10));
emp.setDept(rs.getString(11));
list.add(emp);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
MyConn.close(con, ps, rs);
}
return list;
}


}
url