package jdbc;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;public class demo {public static void main(String[] args) throws Exception {//注册驱动Class.forName("com.mysql.cj.jdbc.Driver");//注册方法String url = "jdbc:mysql://127.0.0.1:3306/itcast?" +"useSSL=false&amp&serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8";String username = "root";String password = "gyx.l123";Connection conn = DriverManager.getConnection(url, username, password);//定义SQL语句String sql = "insert into users values(4,'张六',30,'1','男',2)";//获取statement对象Statement sm = conn.createStatement();//执行sqlint count = sm.executeUpdate(sql);//受影响的行数//处理结果System.out.println(count);//释放资源sm.close();conn.close();}
}

JDBC API详解

DriverManager

Connection

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;public class demo2 {public static void main(String[] args) throws Exception {//注册方法String url = "jdbc:mysql://127.0.0.1:3306/itcast?" +                "useSSL=false&amp&serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8";String username = "root";String password = "gyx.l123";Connection conn = DriverManager.getConnection(url, username, password);//定义SQL语句String sql1 = "update users set age = 30 where name = '张三'";String sql2 = "update users set age = 32 where name = '张四'";//获取statement对象Statement sm = conn.createStatement();try {//开启事务(手动提交)conn.setAutoCommit(false);//执行sql1,并处理结果int count1 = sm.executeUpdate(sql1);//受影响的行数System.out.println(count1);//执行sql2,并处理结果int count2 = sm.executeUpdate(sql1);//受影响的行数System.out.println(count1);//提交事务conn.commit();} catch (Exception e) {//回滚事务conn.rollback();}//释放资源sm.close();conn.close();}
}

Statement 

DDL语句不能用count的值判断是否执行成功,如"drop database username"
DML语句可以用count的值判断是否执行成功

ResultSet

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;public class demo_ResultSet {public static void main(String[] args) throws Exception {//注册方法String url = "jdbc:mysql://127.0.0.1:3306/itcast?" +"useSSL=false&amp&serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8";String username = "root";String password = "gyx.l123";Connection conn = DriverManager.getConnection(url, username, password);//定义SQL语句//DDL语句不能用count的值判断是否执行成功,如"drop database username"//DML语句可以用count的值判断是否执行成功String sql = "select * from users";//获取statement对象Statement sm = conn.createStatement();//执行sqlResultSet res = sm.executeQuery(sql);//处理结果while (res.next()){int id = res.getInt(1);String name = res.getString(2);int age = res.getInt(3);String gender = res.getString(4);int dep = res.getInt(5);System.out.println(id+"\t"+name+"\t"+age+"\t"+gender+"\t"+dep);}//释放资源res.close();sm.close();conn.close();/*1 张三  30  男   12  张四  28  男   23  张五  22  女   34  张六  30  男   25  王六  28  男   16  王五  28  男   1*/}
}

import pojo.users;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;public class demo_ResultSet2 {public static void main(String[] args) throws Exception {//注册方法String url = "jdbc:mysql://127.0.0.1:3306/itcast?" +"useSSL=false&amp&serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8";String username = "root";String password = "gyx.l123";Connection conn = DriverManager.getConnection(url, username, password);//定义SQL语句String sql = "select * from users";//获取statement对象Statement sm = conn.createStatement();//执行sqlResultSet res = sm.executeQuery(sql);//处理结果ArrayList<users> arr = new ArrayList<users>();while (res.next()){//创建对象users u =new users();//获取数据int id = res.getInt(1);String name = res.getString(2);int age = res.getInt(3);String gender = res.getString(4);int dep = res.getInt(5);//给对象赋值u.setId(id);u.setName(name);u.setAge(age);u.setGender(gender);u.setDep(dep);//把对象加入集合arr.add(u);}//打印集合System.out.println(arr);//释放资源res.close();sm.close();conn.close();}
}public class users {private int id;private String name;private int age;private String gender;private int dep;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getGender() {return gender;}public void setGender(String gendert) {this.gender = gendert;}public int getDep() {return dep;}public void setDep(int dep) {this.dep = dep;}@Overridepublic String toString() {return "users{" +"id=" + id +", name='" + name + '\'' +", age=" + age +", gendert='" + gender + '\'' +", dep=" + dep +'}';}
}

PreparedStatement

 登录案例:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;public class demo_PreparedStatement {public static void main(String[] args) throws Exception {//注册方法String url = "jdbc:mysql://127.0.0.1:3306/itcast?" +"useSSL=false&amp&serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8";String username = "root";String password = "gyx.l123";Connection conn = DriverManager.getConnection(url, username, password);//接收用户输入的用户名和密码String name = "小红";String psw = "123";//String name = "3326988";//String psw = "'or '1'='1";//定义SQL语句String sql = "select * from username_password where username = '" + name + "' and password='" + psw + "'";//获取statement对象Statement sm = conn.createStatement();//执行sqlResultSet res = sm.executeQuery(sql);//判断是否登陆成功if(res.next()){//res有数据,返回trueSystem.out.println("登陆成功");}else{System.out.println("登录失败");}//释放资源res.close();sm.close();conn.close();}
}

import java.sql.*;public class demo_PreparedStatement {public static void main(String[] args) throws Exception {//注册方法String url = "jdbc:mysql://127.0.0.1:3306/itcast?" +"useSSL=false&amp&serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8";String username = "root";String password = "gyx.l123";Connection conn = DriverManager.getConnection(url, username, password);//接收用户输入的用户名和密码String name = "小红";String psw = "123";//定义SQL语句String sql = "select * from username_password where username = ? and password = ?";//获取 PreparedStatement对象,并设置 ? 的值PreparedStatement ps = conn.prepareStatement(sql);ps.setString(1, name);ps.setString(2, psw);//执行sqlResultSet res = ps.executeQuery();//判断是否登陆成功if (res.next()) {//res有数据,返回trueSystem.out.println("登陆成功");} else {System.out.println("登录失败");}//释放资源res.close();ps.close();conn.close();}
}

数据库连接池Druid

import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSource;
import java.io.FileInputStream;
import java.sql.Connection;
import java.util.Properties;public class druid_Demo {public static void main(String[] args) throws Exception {//1.导jar包//2.配置文件//3.加载配置文件Properties prop = new Properties();prop.load(new FileInputStream("jdbc-demo/src/druid.properties"));//System.out.println(System.getProperty("user.dir"));找当前路径的方法//4.获取连接池对象DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);//5.获取数据库连接 ConnectionConnection conn = dataSource.getConnection();System.out.println(conn);}
}

JavaWeb——JDBC相关推荐

  1. 基于javaweb+mysql的学生选课系统(java+javaweb+jdbc)

    基于javaweb+mysql的学生选课系统(java+javaweb+jdbc) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse ...

  2. 基于javaweb的学生选课系统(java+javaweb+jdbc)

    基于javaweb的学生选课系统(java+javaweb+jdbc) 功能介绍: 用户菜单.学生管理.教师管理.课程管理.成绩排名查询 适用 课程设计,大作业,毕业设计,项目练习,学习演示等 //验 ...

  3. JavaWeb JDBC初步连接和JDBC连接规范化

    感谢传智播客提供的学习视频 ,希望传智播客越来越好 package cn.itcast.jdbc;import java.sql.Connection; import java.sql.DriverM ...

  4. JavaWeb——jdbc与dbcp数据库连接

    一.引言 最近在学习使用mybatis调用数据库,顺便总结了下java连接数据库的历史发展.从非常传统的jdbc连接,到数据库连接池(dbcp.c3p0)封装后的jdbc连接,再到各种框架对数据库连接 ...

  5. 20210213 黑马javaweb JDBC

    # 今日内容 1. JDBC基本概念     2. 快速入门     3. 对JDBC中各个接口和类详解 ## JDBC:     1. 概念:Java DataBase Connectivity   ...

  6. JavaWeb JDBC

    1.实现第一个JDBC程序 在MySQL中创建一个名称为jdbc的数据库,然后在该数据库中创建一个users表,创建 数据库和表的SQL语句如下所示. CREATE DATABASE jdbc;USE ...

  7. javaweb -- jdbc

    文章目录 数据库驱动 JDBC 下载jar包 第一个 JDBC 案例 1.创建一个 普通的java 项目 2.引入jar 包 3.编写测试代码 statement 对象 抽取JDBC工具类 SQL注入 ...

  8. Java项目:医院管理系统(java+javaweb+jdbc+Mysql+lw)

    源码获取:博客首页 "资源" 里下载! 功能介绍: 登录.注册.用户/管理员(角色).用户信息管理.科系信息管理.查看所有科系.新增科系信息.删除指定科系.修改科系信息.病房信息管 ...

  9. Java项目:人事管理系统(java+javaweb+jdbc)

    源码获取:博客首页 "资源" 里下载! 功能介绍: 登录.新增.修改.离职 员工管理控制层: @Controller @RequestMapping("/employee ...

最新文章

  1. 力扣【下一个更大元素】leetcode-503.下一个更大元素 Ⅱ:单调栈解法+循环数组解法
  2. 你的手机上未安装应用程序”的解决方案
  3. mutable、volatile的使用
  4. 程序员与代码的几种关系,每种都会被我们鄙视
  5. groovy怎样从sql语句中截取表名_Mysql和SQL
  6. 我的第一本算法书(图解算法)——什么是哈希表
  7. python变量赋值方式_【Python入门学习】详谈python变量和变量赋值语句
  8. 大数据 机器学习 人工智能_在这个季节中,您如何免费学习数据科学,人工智能和机器学习。...
  9. 马尔可夫模型(MM) 马尔可夫链
  10. 财务知识 - 营业税
  11. 51单片机英文缩写全称
  12. 新西兰计算机设计专业,2020年出国新西兰学习计算机专业的要求是什么?
  13. linux用户的目录结构,Linux下用户管理、目录结构
  14. Day45. 数据分析实战(1):超市运营数据分析
  15. validateform.js表单验证工具
  16. 2023二建建筑施工备考第二天Day04
  17. Fotor 在线设计工具 在线设计网站
  18. Bootstrap 4中使用BootstrapTable时需要导入popper.js
  19. 20200213ubuntu20.04下的笔记本USB摄像头的相关资料
  20. MMD初尝试1(骨骼系统)

热门文章

  1. python爬取微博用户信息(三)—— 创建MicroBlog类实例
  2. 计算机主板用户可以自己安装的是,台式电脑怎么自己动手组装 史上最全的组装电脑详细图文教程...
  3. 径向模糊shader
  4. vue字符串替换,vue将字符串内指定字符替换,vue字符串替换函数.replace如何使用
  5. vue-cli3.0引入高德3d动画效果方法一:
  6. css-animation动画
  7. MySQL项目-淘宝用户购物行为数据可视化分析
  8. Mac文字处理与页面排版Pages如何在空白地方添加下划线?
  9. Polarr Photo教程:打造艳丽夕阳效果
  10. ftp服务器不能显示中文版,ftp服务器显示中文