@MRsunhuimin
2019-08-12T14:16:55.000000Z
字数 9130
阅读 224
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();}}
//实体类Userpackage 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;}}
//实体类Goodspackage com.hz.entity;public class Goods {private long goods_id;//商品idprivate 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;}}