java链接MYSQL数据库并实现查找数据代码如何写?
关注:297 答案:2 mip版
解决时间 2021-02-06 21:57
提问者話仳情亼鎂
2021-02-06 04:10
如题。我想做一个用户验证登录的程序。想知道链接数据库以及到查询出数据的代码。请高手指点。
最佳答案
二级知识专家注定要离开
2021-02-06 04:31
首先创建一个连接工厂import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;public class ConnectionFactory {
private Connection conn=null;
private Statement stmt=null;
private ResultSet rs=null;
public ConnectionFactory() {
super();
// TODO Auto-generated constructor stub
} public void OpenConn() throws Exception{
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url="jdbc:mysql://127.0.0.1:3306/guestbook";
String user="root";
String password="root";
conn=DriverManager.getConnection(url,user,password);
}catch(Exception e){
System.out.println("创建链接抛出异常为:"+e.getMessage());
}
} public ResultSet executeQuery(String sql) throws Exception{
try{
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(sql);
}catch(Exception e){
System.out.println("执行查询抛出的异常为:"+e.getMessage());
}
return rs;
} public void close() throws Exception{
try{
rs.close();
stmt.close();
conn.close();
}catch(Exception e){
System.out.println("关闭对象抛出的异常:"+e.getMessage());
}
} }
测试类 import java.sql.ResultSet;public class TestJDBC {
public static void main(String[] args) {
ConnectionFactory c= new ConnectionFactory();
try {
c.OpenConn();
String sql="select * from tb_guestbook";
ResultSet rs=c.executeQuery(sql);
while(rs.next()){
System.out.println(rs.getString(2));
}
c.close();
System.out.println();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
全部回答
1楼自然卷的气质
2021-02-06 06:03
package basic;
import java.sql.connection;
import java.sql.drivermanager;
import java.sql.preparedstatement;
import java.sql.resultset;
import java.sql.sqlexception;
import java.sql.statement;
public class jdbc {
public void findall() {
try {
// 获得数据库驱动
//由于长时间不写,驱动名和url都忘记了,不知道对不对,你应该知道的,自己改一下的哈
string url = "jdbc:oracle:thin:@localhost:1521:xe";
string username = "system";
string password = "system";
class.forname("oracle.jdbc.driver.oracledriver");
// 创建连接
connection conn = drivermanager.getconnection(url, username,
password);
// 新建发送sql语句的对象
statement st = conn.createstatement();
// 执行sql
string sql = "select * from users";
resultset rs = st.executequery(sql);
// 处理结果
while(rs.next()){
//这个地方就是给你的封装类属性赋值
system.out.println("username:"+rs.getstring(0));
}
// 关闭连接
rs.close();
st.close();
conn.close();
} catch (classnotfoundexception e) {
// todo auto-generated catch block
e.printstacktrace();
} catch (sqlexception e) {
// todo auto-generated catch block
e.printstacktrace();
}
}
public void delete(){
try {
//步骤还是那六个步骤,前边的两步是一样的
string url = "jdbc:oracle:thin:@localhost:1521:xe";
string username = "system";
string password = "system";
class.forname("oracle.jdbc.driver.oracledriver");
connection conn = drivermanager.getconnection(url,username,password);
//这里的发送sql语句的对象是preparedstatement,成为预处理sql对象,因为按条件删除是需要不定值的
string sql = "delete from users where id = ?";
preparedstatement ps = conn.preparestatement(sql);
ps.setint(0, 1);
int row = ps.executeupdate();
if(row!=0){
system.out.println("删除成功!");
}
// 关闭连接
rs.close();
st.close();
conn.close();
} catch (classnotfoundexception e) {
// todo auto-generated catch block
e.printstacktrace();
} catch (sqlexception e) {
// todo auto-generated catch block
e.printstacktrace();
}
}
}
我只写了查询和删除,添加、修改和删除非常之像,这是因为查询对数据库没有改动,而增删改都对数据库进行了修改,所以这三个非常像……呵呵,你自己看着办吧
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
→点此我要举报以上信息!←
推荐资讯
大家都在看