JDBC
package com.xiangxiang.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
//jdbc快速入门
public class JDBCDemo {
public static void main(String[] args) throws Exception {
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
//2.获取连接
String url="jdbc:mysql://localhost:3306/db1";
String username="root";
String password="11111111";
Connection conn = DriverManager.getConnection(url, username, password);
//3.定义sql语句
String sql="update tb_user set gender = '女' ";
//4.获取执行sql的对象
Statement stat =conn.createStatement();
//5.执行sql
int count = stat.executeUpdate(sql);//受影响的行数
//6.处理结果
System.out.println(count);
//7.释放资源
stat.close();
conn.close();
}
}
-------------------------------------------------------------
package com.xiangxiang.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCDemo2 {
public static void main(String[] args) throws Exception {
// 开启事务实例:
//1.注册驱动
//Class.forName("com.mysql.jdbc.Driver");会默认注册驱动导入jar包后
//2.获取连接
String url="jdbc:mysql://localhost:3306/db1";
//如果是链接本地MySQL且端口号是默认的3306,可以简写为: String url="jdbc:mysql:///db1";
String username="root";
String password="11111111";
Connection conn = DriverManager.getConnection(url, username, password);
//3.定义sql语句
String sql1="update tb_user set gender = '男' where id = 1 ";
String sql2="update tb_user set gender = '双' where id = 2 ";
//4.获取执行sql的对象
Statement stat =conn.createStatement();
try {
//开启事务
conn.setAutoCommit(false);
//5.执行sql
int count1 = stat.executeUpdate(sql1);//受影响的行数
System.out.println(count1);
int count2 = stat.executeUpdate(sql2);//受影响的行数
System.out.println(count2);
//提交事务
conn.commit();
} catch (Exception e) {
//回滚事务
conn.rollback();
throw new RuntimeException(e);
}
//7.释放资源
stat.close();
conn.close();
}
}
----------------------------------------------
package com.xiangxiang.jdbc;
import java.sql.*;
public class JDBCDemo3_ResultSet {
public static void main(String[] args) throws Exception {
//ResultSet:
String url="jdbc:mysql://localhost:3306/db1";
//如果是链接本地MySQL且端口号是默认的3306,可以简写为: String url="jdbc:mysql:///db1";
String username="root";
String password="11111111";
Connection conn = DriverManager.getConnection(url, username, password);
String sql="select * from tb_user";
Statement stat=conn.createStatement();
//执行
ResultSet rs=stat.executeQuery(sql);
//处理
while(rs.next()){
int id=rs.getInt("id");//也可以用 rs.getInt(1);
String name=rs.getString("username");//也可以用 rs.getString(2);
String pass=rs.getString("password");//...
String gender=rs.getString("gender");
String addr=rs.getString("addr");
System.out.println(id+" "+name+" "+pass+" "+gender+" "+addr);
}
//释放资源
rs.close();
stat.close();
conn.close();
}
}
-----------------------------------------------------
package com.xiangxiang.jdbc;
import com.xiangxiang.pojo.Account;
import java.sql.*;
import java.util.ArrayList;
public class JDBCDemo3_ResultSet_lianxi {
public static void main(String[] args) throws SQLException {
//要求:查询account数据,封装为Account对象,并存储到ArrayList集合中
String url="jdbc:mysql://localhost:3306/db1";
//如果是链接本地MySQL且端口号是默认的3306,可以简写为: String url="jdbc:mysql:///db1";
String username="root";
String password="11111111";
Connection conn = DriverManager.getConnection(url, username, password);
String sql="select * from tb_user";
Statement stat=conn.createStatement();
//执行
ResultSet rs=stat.executeQuery(sql);
ArrayList<Account> list=new ArrayList<>();
//处理
while(rs.next()){
Account account=new Account();
int id=rs.getInt("id");//也可以用 rs.getInt(1);
String name=rs.getString("username");//也可以用 rs.getString(2);
String pass=rs.getString("password");//...
String gender=rs.getString("gender");
String addr=rs.getString("addr");
account.setId(id);
account.setUsername(name);
account.setPassword(pass);
account.setGender(gender);
account.setAddr(addr);
list.add(account);
}
System.out.println(list);
//释放资源
rs.close();
stat.close();
conn.close();
}
}
--------------------------------------------------
package com.xiangxiang.jdbc;
import java.sql.*;
public class JDBCDemo3_User_Login {
public static void main(String[] args) throws SQLException {
String url="jdbc:mysql://localhost:3306/db1";
//如果是链接本地MySQL且端口号是默认的3306,可以简写为: String url="jdbc:mysql:///db1";
String username="root";
String password="11111111";
Connection conn = DriverManager.getConnection(url, username, password);
String name="zhangsan";
String pass="123";
String sql="select * from tb_user where username = '"+name+"' and password = '"+pass+"' ";
Statement stat=conn.createStatement();
//执行
ResultSet rs = stat.executeQuery(sql);
//处理
if(rs.next()) System.out.println("登录成功");
else System.out.println("登录失败");
//释放资源
rs.close();
stat.close();
conn.close();
}
}
--------------------------------------
package com.xiangxiang.jdbc;
import java.sql.*;
public class JDBCDemo3_PreparedStatement {
public static void main(String[] args) throws Exception {
//PreparedStatement:防止sql注入
String url="jdbc:mysql://localhost:3306/db1";
//如果是链接本地MySQL且端口号是默认的3306,可以简写为: String url="jdbc:mysql:///db1";
String username="root";
String password="11111111";
Connection conn = DriverManager.getConnection(url, username, password);
String name="zhangsan";
String pass="123";
String sql="select * from tb_user where username = ? and password = ? ";
PreparedStatement ps = conn.prepareStatement(sql);
//设置问号得值
ps.setString(1,name);
ps.setString(2,pass);
//执行
ResultSet rs = ps.executeQuery();//不传sql语句
//处理
if(rs.next()) System.out.println("登录成功");
else System.out.println("登录失败");
//释放资源
rs.close();
ps.close();
conn.close();
}
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Hexo!

