JDBC连接mysql数据库实现基本操作
JDBC连接mysql数据库实现基本操作JDBC(java DATABASE Connectivity) java 数据连接通过Java代码完成对数据库的增删改查 DB是SQL语言结构化查询语言 java代码想要操作DB数据库先引入一个jar文件 mysql连接数据库的驱动jar包. Oracle连...
JDBC连接mysql数据库实现基本操作
JDBC(java DATABASE Connectivity) java 数据连接
通过Java代码完成对数据库的增删改查
DB是SQL语言 结构化查询语言
java代码想要操作DB数据库先引入一个jar文件
mysql连接数据库的驱动jar包.
Oracle连接数据库的驱动jar包
连接步骤:
1.加载驱动 Class.forName(“com.mysql.jdbc.Driver”);
2.获取连接数据库的对象(url=“jdbc:mysql://ip:3306/数据库名称”)
Connection conn=DriverManager.getConnection(url,user,password);
3.执行SQL语句 st.executeUpdate(sql); 返回int,表示影响了几行

摘自: https://blog.csdn.net/zhangjikuan/article/details/76177434
ResultSet接口:
ResultSet接口是查询结果集接口,它对返回的结果集进行处理。ResultSet是程序员进行JDBC操作的必须接口。
Statement
发送完整的sql语句到数据库不是直接执行,而是先编译、后运行。
preparedStatement
预处理,statement子类,后期常使用这个而不使用Statement类
? 占位符,sql语句中查询传值
如下是父类的一个数据库的写法,连接数据库后对数据库实现只需要继承BaseDao即可:
对数据库ban32表中的部门表的操作
父类BaseDao:
public class BaseDao {
public String url = "jdbc:mysql://localhost:3306/restrant";
public String user = "root";
public String password="199617";
public String sql="";
public Connection conn=null;
public PreparedStatement ps=null;
public ResultSet rs=null;
public int rows = 0;
/**
* 建立连接
*/
public Connection getCon() {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
conn = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
/**
* 实现增删改
*/
public boolean edit(String sql, Object...objects) {
try {
getCon();
ps=conn.prepareStatement(sql);
for(int i = 0; i<objects.length; i++) {
ps.setObject(i+1, objects[i]);
}
rows = ps.executeUpdate();
}catch (Exception e) {
e.printStackTrace();
}finally {
closeAll();
}
return rows>0;
}
/**
* 关闭资源
*/
public void closeAll(){
try {
if(rs!=null) {
rs.close();
}
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
if(ps!=null) {
ps.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(conn!=null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
子类DeptDao继承父类:
public class DeptDao extends BaseDao{
//增加部门
@Test
public void dome() {
System.out.println(update("不是部","研发部"));
}
public boolean add(String buMen) {
sql = "insert into 部门(部门名称) values(?)";
return edit(sql,buMen);
}
//删除部门
public boolean delete(int id) {
sql = "delete from 部门 where 部门号=?";
return edit(sql,id);
}
//修改部门
public boolean update(String oldBuMen,String newBuMen) {
sql = "update 部门 set 部门名称=? where 部门名称=?";
return edit(sql,newBuMen,oldBuMen);
}
//查询
public boolean enquiry(String buMen) {
try {
conn = getCon();
sql = "select * from 部门 where 部门名称 =?";
ps=conn.prepareStatement(sql);
ps.setString(1, buMen);
rs = ps.executeQuery();
while(rs.next()) {
// System.out.print(rs.getInt("部门号")+"\t");
// System.out.println(rs.getString("部门名称"));
}
return true;
}catch (Exception e) {
e.printStackTrace();
}finally {
closeAll();
}
return false;
}
}
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)