Java的部分 JDBC 操作 (Mysql)
Java部分jdbc操作,以Mysql为例,更新于插入方式类似只需要知道操作是否成功,而查询还需要读出符合条件的内容。
jdbc查询操作:
//第一步 声明变量
public static final String DB_DRIVER = "com.mysql.jdbc.Driver"; public static final String DB_URL , DB_USER ,DB_PWD …… public static void main(String[] args) throws Exception { //其中URL = jdbc:mysql://<host>:<port> /<database> , 默认端口3306,如果服务器使用默认端口则port可以省略 //如:URL= "jdbc:mysql://localhost:3306/test"; 也可以 URL= "jdbc:mysql:///test";
//第二部步 加载驱动
Class.forName(DB_DRIVER);
//第三步 创建连接 (通过URL、数据库名、密码实现连接)
Connection conn = DriverManager.getConnection(DB_URL,DB_USER,DB_PWD);
//第四步 实例化Statement
Statement st = conn.createStatement();
String name = "tom";
String pass = "123456";
//第五步 创建sql语句
String sql = "select * from users where username = '"+name+"' and userpass = '"+pass+"';";
//第六步 执行sql语句
ResultSet rs = st.executeQuery(sql);
//第七步 操作数据
while (rs.next()) {
System.out.println(rs.getInt(1)+","+rs.getString(2)+","+rs.getString(3)+","+rs.getString(4));
}
//第八步 关闭
rs.close();
st.close();
conn.close();
jdbc插入操作:
第一、二、三、四步同上述……
//第五步 创建sql语句
String sql = "insert into users(username,userpass,status) values('"+name+"','"+pass+"',1)";
//第六步 执行sql语句
int result = st.executeUpdate(sql);
//第七步 关闭
st.close();
conn.close();
由于书写sql过于麻烦,所以使用另一种方式操作jdbc
如查询操作:
//第一步 声明变量
public static final String DB_DRIVER = "com.mysql.jdbc.Driver";
public static final String DB_URL , DB_USER ,DB_PWD ……
public static void main(String[] args) throws Exception {
//第二部步 加载驱动
Class.forName(DB_DRIVER);
//第三步 创建连接
Connection conn = DriverManager.getConnection(DB_URL,DB_USER,DB_PWD);
//第四步 书写sql语句,但变量用?代替
String sql = "select * from TblProduct where productName=? and productType=?";
//第五步
PreparedStatement ps = (PreparedStatement) conn.prepareStatement(sql);
//书写的顺序就是问号的顺序,下表从 1 开始
ps.setString(1, p.getProductName());
ps.setString(2, p.getProductType());
//第六步
//这个括号里可以省略sql
ResultSet rs = ps.executeQuery();
int count = 0;
//第七步
while(rs.next()) { //遍历所有符合的商品,累加数量
count += rs.getInt(4);
}
//第八步 关闭
conn.close();
ps.close();
rs.close();
如插入操作:(更新与插入操作只是sql语句不同,执行过程几乎一样)
//第一步 声明变量
public static final String DB_DRIVER = "com.mysql.jdbc.Driver";
public static final String DB_URL , DB_USER ,DB_PWD ……
public static void main(String[] args) throws Exception {
//第二部步 加载驱动
Class.forName(DB_DRIVER);
//第三步 创建连接
Connection conn = DriverManager.getConnection(DB_URL,DB_USER,DB_PWD);
//第四步 书写sql语句
String sql = "insert into TblProduct(productName, productType, productStock) values(?,?,?)";
//第五步
PreparedStatement ps = (PreparedStatement) conn.prepareStatement(sql);
String productName = p.getProductName();
String productType = p.getProductType();
int productStock = p.getProductStock();
ps.setString(1, productName);
ps.setString(2, productType);
ps.setInt(3, productStock);
//第六步
int result = ps.executeUpdate();
//第七步
ps.close();
conn.close();