JDBC:java连接数据库框架
dbURL
sqlserver URL:
jdbc:sqlserver://服务器的ip地址:端口号(默认值1433);DatabaseName=库名
mysql:
jdbc:mysql://服务器的ip地址:端口号(默认值是3306)/库名
连接数据库的步骤:
1.创建数据库连接对象
Connection 数据库连接对象 = DriverManager.getConnection(String dbURL, String uname, String pwd)
案例1:
public class JdbcDemo {
public static void main(String[] args) {
try {
Connection conn = DriverManager.getConnection("jdbc:sqlserver://192.168.1.128:1433;DatabaseName=fuxi",
"sa", "123456");
System.out.println("数据库连接成功");
} catch (SQLException e) {
System.out.println("数据库无法连接");
e.printStackTrace();
}
}
}
2.创建语句对象
Statement 语句对象 = 连接对象.createStatement();
方法:
execute(String sql语句)//一般用来执行除查询语句之外的所有语句,返回布尔值
executeQuery(String sql语句)//一般用于执行查询语句,返回查询的结果集(Result)
executeUpdate(String sql语句)//一般用于插入、删除、更新语句,可以返回整型数,该整型数为本次操作影响的行数
案例2:
public class JdbcDemo {
public static void main(String[] args) {
try {
Connection conn = DriverManager.getConnection("jdbc:sqlserver://192.168.5.152:1433;DatabaseName=fuxi2",
"sa", "123456");
System.out.println("数据库连接成功");
Statement st = conn.createStatement();
st.execute("insert users1 values('aaa','123')");
System.out.println("语句执行成功");
} catch (SQLException e) {
System.out.println("数据库无法连接");
e.printStackTrace();
}
}
}
3.创建结果集对象
ResultSet 结果集对象 = 语句对象.executeQuery(String sql语句)
方法:
next()//定位到下一条结果,返回布尔值
get数据类型(int 字段下标/String 字段名)//返回当前定位结果的指定字段的值
案例3:
public class JdbcDemo {
public static void main(String[] args) {
try {
Connection conn = DriverManager.getConnection("jdbc:sqlserver://192.168.5.152:1433;DatabaseName=fuxi2",
"sa", "123456");
System.out.println("数据库连接成功");
Statement st = conn.createStatement();
// st.execute("insert users1 values('aaa','123')");
ResultSet rs = st.executeQuery("select * from users1");
while (rs.next()) {
System.out.println("用户名:" + rs.getString("uname") + ",密码:" + rs.getString("pwd"));
}
System.out.println("语句执行成功");
} catch (SQLException e) {
System.out.println("数据库无法连接");
e.printStackTrace();
}
}
}
4.创建预读语句对象
PreparedStatement 预读语句对象 = 连接对象.prepareStatement(String sql语句)
方法:
execute()
executeQuery()
executeUpate()
案例4.1:-查询
public class JdbcDemo {
public static void main(String[] args) {
try {
Connection conn = DriverManager.getConnection("jdbc:sqlserver://192.168.5.152:1433;DatabaseName=fuxi2",
"sa", "123456");
System.out.println("数据库连接成功");
PreparedStatement ps = conn.prepareStatement("select * from users1");
// st.execute("insert users1 values('aaa','123')");
ResultSet rs = ps.executeQuery();
while (rs.next()) {
System.out.println("用户名:" + rs.getString("uname") + ",密码:" + rs.getString("pwd"));
}
System.out.println("语句执行成功");
} catch (SQLException e) {
System.out.println("数据库无法连接");
e.printStackTrace();
}
}
}
案例4.2:修改
public class JdbcDemo {
public static void main(String[] args) {
try {
Connection conn = DriverManager.getConnection("jdbc:sqlserver://192.168.1.128:1433;DatabaseName=fuxi",
"sa", "123456");
System.out.println("数据库连接成功");
PreparedStatement ps = conn.prepareStatement("update users set pwd='654321'");
ps.executeUpdate();
System.out.println("语句执行成功");
} catch (SQLException e) {
System.out.println("数据库无法连接");
e.printStackTrace();
}
}
}
-------------------------------下面的代码是用来执行updete--------------------------------
import java.beans.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class JdbcDemo {
public static void main(String[] args) {
try {
Connection conn = DriverManager.getConnection("jdbc:sqlserver://192.168.1.128:1433;DatabaseName=fuxi", "sa",
"123456");
System.out.println("数据库连接成功");
// PreparedStatement ps = conn.prepareStatement("update users set pwd='jcy123456'");
// ps.executeUpdate();
PreparedStatement ps = conn.prepareStatement("delete from users where uname='111'");
ps.execute();
System.out.println("语句执行成功");
} catch (SQLException e) {
System.out.println("数据库无法连接");
e.printStackTrace();
}
}
}