@MRsunhuimin
2019-08-12T14:16:55.000000Z
字数 9130
阅读 188
web
准备jar
mysql-connector-java-5.1.0-bin.jar
- 加载驱动Class.forName("com.mysql.jdbc.Driver");
- 使用DriverManager获取数据库connection连接
- 创建Statement对象 用于执行SQL语句
- 执行SQL语句
- 释放资源
//jdbc连接数据库,使用Statement接口
package com.hz.test;
import java.sql.*;
public class Test1 {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
//加载驱动 方言
Class.forName("com.mysql.jdbc.Driver");
//准备数据库连接路径
String url = "jdbc:mysql://192.168.0.157:3306/xxshop";
//用户名与密码
String username = "root";
String userpwd = "root";
//根据路径,用户名,密码 使用DriverManager获取数据库connection连接
conn =DriverManager.getConnection(url,username,userpwd);
//准备要执行的SQL语句
String sql = "SELECT user_id,user_name FROM sf_user";
//创建Statement对象 用于执行SQL语句
stmt = conn.createStatement();
//执行SQL语句
rs =stmt.executeQuery(sql);
//处理ResultSet结果集
//rs.next() 返回boolean 值
while (rs.next()){
//long id = rs.getLong(1);
//String name = rs.getString(2);
long id = rs.getLong("user_id");
String name = rs.getString("user_name");
System.out.println("用户id:"+id+"用户名:"+name);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
//释放资源
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
com.microsoft.jdbc.sqlserver.SQLServerDriver(SQL Server)
com.mysql.jdbc.Driver(MySql)
oracle.jdbc.driver.OracleDriver(Oracle)
ResultSet executeQuery(sql)
执行sql查询语句,并返回ResultSet对象
int executeUpdate(sql)
执行insert,update,delete语句,返回受影响行数
boolean execute(sql)
执行insert,update,delete语句,返回true或false false成功
放入url连接路径之后
?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
防止SQL注入,使用占位符“?”方式进行SQL拼接
package com.hz.test;
import com.hz.entity.Goods;
import com.hz.entity.User;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class Tset2 {
//验证
public User loginUser(String user_name, String user_password){
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");//加载驱动 方言
String url = "jdbc:mysql://192.168.0.157:3306" +
"/xxshop?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull";
String username = "root";
String userpwd = "root";
conn = DriverManager.getConnection(url,username,userpwd);//获取Connection对象
String sql = "select user_id,user_name,user_password from sf_user where user_name=? and user_password=?";
ps = conn.prepareStatement(sql);
ps.setString(1,user_name);//第一个占位符处
ps.setString(2,user_password);//ps.setXXXX(位置<从1开始>,值<参数>)
rs = ps.executeQuery();//执行查询
User user = null;//用于判断 等于null登录失败,否则成功
while (rs.next()){
user = new User();//进入循环,登录成功,创建user对象
user.setUser_id(rs.getLong("user_id"));//使用rs.getXXX("返回的列名") 放入user对象
user.setUser_name(rs.getString("user_name"));
user.setUser_password(rs.getString("user_password"));
}
return user;
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return null;
}
//查询
public void selectUser(){
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://192.168.0.157:3306" +
"/xxshop?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull";
String username = "root";
String userpwd = "root";
conn = DriverManager.getConnection(url,username,userpwd);
String sql = "select user_id,user_name from sf_user";
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()){
long id = rs.getLong("user_id");
String name = rs.getString("user_name");
System.out.println("用户ID:"+id+"\t"+"用户名:"+name);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//增加
public boolean addUser(){
Connection conn = null;
PreparedStatement ps = null;
boolean i = false;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://192.168.0.157:3306" +
"/xxshop?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull";
String username = "root";
String userpwd = "root";
conn = DriverManager.getConnection(url,username,userpwd);
String sql = "INSERT INTO sf_user(user_name,user_password) VALUES(?,?)";
ps = conn.prepareStatement(sql);
ps.setString(1,"李四");
ps.setString(2,"qwert");
if (ps.executeUpdate()>0){
i=true;
System.out.println("添加成功");
}else{
System.out.println("添加失败!");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return i;
}
//删除
public boolean deleteUser(){
Connection conn = null;
PreparedStatement ps = null;
boolean i = false;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://192.168.0.157:3306" +
"/xxshop?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull";
String username = "root";
String userpwd = "root";
conn = DriverManager.getConnection(url,username,userpwd);
String sql = "delete from sf_user where user_id>10";
ps = conn.prepareStatement(sql);
if (ps.executeUpdate()>0){
i=true;
System.out.println("删除成功");
}else{
System.out.println("删除失败!");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return i;
}
//修改
public boolean updateUser(){
Connection conn = null;
PreparedStatement ps = null;
boolean i = false;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://192.168.0.157:3306" +
"/xxshop?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull";
String username = "root";
String userpwd = "root";
conn = DriverManager.getConnection(url,username,userpwd);
String sql = "update sf_user set user_name='赵六',user_password='123456' where user_id=3";
ps = conn.prepareStatement(sql);
if (ps.executeUpdate()>0){
i=true;
System.out.println("修改成功");
}else{
System.out.println("修改失败!");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return i;
}
//获取所有商品(goods)信息
public List<Goods> getGoodsList(){
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://127.0.0.1:3306" +
"/xxshop?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull";
String username = "root";
String userpwd = "root";
conn = DriverManager.getConnection(url,username,userpwd);
String sql = "SELECT goods_id,goods_title,goods_browse,goods_state FROM sf_goods ";
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
List<Goods> goodsList = new ArrayList<Goods>();
while (rs.next()){
Goods goods = new Goods();
goods.setGoods_id(rs.getLong("goods_id"));
goods.setGoods_title(rs.getString("goods_title"));
goods.setGoods_browse(rs.getInt("goods_browse"));
goods.setGoods_state(rs.getInt("goods_state"));
goodsList.add(goods);
}
return goodsList;
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return null;
}
//修改商品信息
public int updateGoods(Goods goods){
Connection conn = null;
PreparedStatement ps = null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://127.0.0.1:3306" +
"/xxshop?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull";
String username = "root";
String userpwd = "root";
conn = DriverManager.getConnection(url,username,userpwd);
String sql = "UPDATE sf_goods SET goods_title = ?,goods_browse = ?," +
"goods_state = ? WHERE goods_id = ?";
ps = conn.prepareStatement(sql);
ps.setString(1,goods.getGoods_title());
ps.setInt(2,goods.getGoods_browse());
ps.setInt(3,goods.getGoods_state());
ps.setLong(4,goods.getGoods_id());
int i = ps.executeUpdate();
return i;
} catch (Exception e) {
e.printStackTrace();
} finally {
}
return 0;
}
public static void main(String[] args) {
Tset2 t = new Tset2();
// Goods goods = new Goods();
// goods.setGoods_id(2);
// goods.setGoods_title("lalala");
// goods.setGoods_browse(99);
// goods.setGoods_state(100);
// int i = t.updateGoods(goods);
// if (i>0){
// System.out.println("修改成功");
// }else {
// System.out.println("修改失败");
// }
// List<Goods> goodsList = t.getGoodsList();
// for (Goods gd:goodsList){
// System.out.println("商品ID:"+gd.getGoods_id());
// System.out.println("商品标题:"+gd.getGoods_title());
// System.out.println("浏览次数:"+gd.getGoods_browse());
// System.out.println("商品状态(0未上架1在售);"+gd.getGoods_state());
// }
// User user = t.loginUser("张三","111");
// if (user==null) {
// System.out.println("登录失败!");
// } else {
// System.out.println("欢迎"+user.getUser_name()+"登陆成功!");
// }
//t.selectUser();
//t.addUser();
//t.deleteUser();
//t.updateUser();
}
}
//实体类User
package com.hz.entity;
public class User {
private long user_id;
private String user_name;
private String user_password;
public long getUser_id() {
return user_id;
}
public void setUser_id(long user_id) {
this.user_id = user_id;
}
public String getUser_name() {
return user_name;
}
public void setUser_name(String user_name) {
this.user_name = user_name;
}
public String getUser_password() {
return user_password;
}
public void setUser_password(String user_password) {
this.user_password = user_password;
}
}
//实体类Goods
package com.hz.entity;
public class Goods {
private long goods_id;//商品id
private String goods_title;//商品标题
private int goods_browse;//商品浏览次数
private int goods_state;//商品状态
public long getGoods_id() {
return goods_id;
}
public void setGoods_id(long goods_id) {
this.goods_id = goods_id;
}
public String getGoods_title() {
return goods_title;
}
public void setGoods_title(String goods_title) {
this.goods_title = goods_title;
}
public int getGoods_browse() {
return this.goods_browse;
}
public void setGoods_browse(int goods_browse) {
this.goods_browse = goods_browse;
}
public int getGoods_state() {
return this.goods_state;
}
public void setGoods_state(int goods_state) {
this.goods_state = goods_state;
}
}