JDBC入门
发布日期:2021-05-14 16:56:11 浏览次数:24 分类:精选文章

本文共 8236 字,大约阅读时间需要 27 分钟。

JDBC������������

JDBC������

JDBC���Java Data Base Connectivity���Java���������������������Java���������������������������������������������������������������������������Java������������������������������������������������������������������������JDBC���������������������������������

������������������

������������������������������������������������������JDBC������������������������������������������������������������JDBC���������������Java������������������������������������������������ CRUD������������������������������������������������

JDBC������CRUD������

���������������

���������JDBC������������������������������������������������������������������������������������

Connection con = null;
Statement sta = null;
ResultSet rs = null;
  • ���������������������������������Class.forName("com.mysql.jdbc.Driver")���������MySQL������������������
  • ���������������������DriverManager.getConnection("jdbc:mysql://localhost:3306/������������", "���������", "������")���������������������������

���������������

���������

������SQL���������������������������

String sql = "CREATE TABLE `java���������` (" 
+ "`id` int(2) NOT NULL AUTO_INCREMENT,"
+ "`username` varchar(20) DEFAULT NULL,"
+ "`password` varchar(20) DEFAULT NULL,"
+ "PRIMARY KEY (`id`)"
+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8;";
sta.execute(sql);

������������

������SQL���������������������������

String sql = "insert into java���������(username,password) values ('������','123456')";
sta.execute(sql);

������������

���������������������������������

String sql = "update java��������� set username = '������' where id = 1";
sta.execute(sql);

������������

���������������������������������������

String sql = "delete from java��������� where id = 2";
sta.execute(sql);

������������

������������������������������������������������������

String sql = "select * from java���������  where id = 1";
rs = sta.executeQuery(sql);
while (rs.next()) {
String username = rs.getString("username");
String password = rs.getString("password");
System.out.println(username + " " + password);
}
String sql = "select * from java���������";
rs = sta.executeQuery(sql);
while (rs.next()) {
String username = rs.getString("username");
String password = rs.getString("password");
System.out.println(username + " " + password);
}

������������������

������������������������������������������������������

sta.close();
con.close();

DAO���������

DAO���������

���Java��������������������������� access logic���DAL���������������������������������DAO���Data Access Object���������DAO���������������������������������������������������������������������

DAO������������

���cn.itsource.dao������������DAO���������

public interface IUserDAO {
void add(User user);
void update(User user);
void delete(User user);
List
findAll();
}

DAO������

���cn.itsource.dao.impl���������������������

public class UserDAOImpl implements IUserDAO {
@Override
public void add(User user) {
Connection con = null;
Statement sta = null;
try {
con = JDBCUtilPro.getCon();
sta = con.createStatement();
String sql = "insert into java��������� (username,password) values ('"+user.getUserName()+"','"+ user.getPassword()+"')";
sta.execute(sql);
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtilPro.closeIO(sta, con, null);
}
}
@Override
public void update(User user) {
Connection con = null;
Statement sta = null;
try {
con = JDBCUtilPro.getCon();
sta = con.createStatement();
String sql = "update java��������� set username = '"+user.getUserName()+"' where id = "+user.getId()+" ";
sta.execute(sql);
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtilPro.closeIO(sta, con, null);
}
}
@Override
public void delete(User user) {
Connection con = null;
Statement sta = null;
try {
con = JDBCUtilPro.getCon();
sta = con.createStatement();
String sql = "delete from java��������� where id = "+user.getId()+" ";
sta.execute(sql);
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtilPro.closeIO(sta, con, null);
}
}
@Override
public List
findAll() {
Connection con = null;
Statement sta = null;
ResultSet rs = null;
.ArrayList list = new ArrayList();
try {
con = JDBCUtilPro.getCon();
sta = con.createStatement();
String sql = "select * from java���������";
rs = sta.executeQuery(sql);
while (rs.next()) {
System.out.println(rs.getString("username")+" "+rs.getString("password"));
User user = new User();
user.setId(rs.getInt("id"));
user.setUserName(rs.getString("username"));
user.setPassword(rs.getString("password"));
list.add(user);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtilPro.closeIO(sta, con, null);
}
return list;
}
}

������

��������������������� DAO ���������������

public class UserDAOImplTest {
UserDAOImpl udi = new UserDAOImpl();
User user = new User();
// ������������
@Test
public void testAdd() {
user.setUserName("������");
user.setPassword("135790");
udi.add(user);
}
// ������������
@Test
public void testUpdate() {
user.setUserName("������");
user.setId(5);
udi.update(user);
}
// ������������
@Test
public void testDelete() {
user.setId(4);
udi.delete(user);
}
// ������������������
@Test
public void testFindAll() {
udi.findAll();
}
}

JDBC������������

������������������������������������������������������������������ JDBC ������������������������������������������

JDBCUtil���

������ JDBC ���������������������������

public class JDBCUtil {
public static Connection getCon() {
Connection con = null;
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysqlday10.17", "root", "979483");
} catch (Exception e) {
e.printStackTrace();
}
return con;
}
}

JDBCUtilPro���

������������������������������������������������������������������

public class JDBCUtilPro {
private static Properties p = new Properties();
static {
try {
p.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("jdbc.properties"));
Class.forName(p.getProperty("className"));
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getCon() {
Connection con = null;
try {
con = DriverManager.getConnection(p.getProperty("url"), p.getProperty("user"), p.getProperty("password"));
} catch (Exception e) {
e.printStackTrace();
}
return con;
}
public static void closeIO(Statement sta, Connection con, ResultSet rs) {
try {
if (sta != null) {
sta.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (con != null) {
con.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}

������������������������������������������������������������������������������������������������������������������������������������

上一篇:JDBC进阶
下一篇:MySQL进阶

发表评论

最新留言

很好
[***.229.124.182]2025年04月28日 14时56分04秒