JavaWeb——JDBC
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&&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&&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&&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&&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&&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&&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相关推荐
- 基于javaweb+mysql的学生选课系统(java+javaweb+jdbc)
基于javaweb+mysql的学生选课系统(java+javaweb+jdbc) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse ...
- 基于javaweb的学生选课系统(java+javaweb+jdbc)
基于javaweb的学生选课系统(java+javaweb+jdbc) 功能介绍: 用户菜单.学生管理.教师管理.课程管理.成绩排名查询 适用 课程设计,大作业,毕业设计,项目练习,学习演示等 //验 ...
- JavaWeb JDBC初步连接和JDBC连接规范化
感谢传智播客提供的学习视频 ,希望传智播客越来越好 package cn.itcast.jdbc;import java.sql.Connection; import java.sql.DriverM ...
- JavaWeb——jdbc与dbcp数据库连接
一.引言 最近在学习使用mybatis调用数据库,顺便总结了下java连接数据库的历史发展.从非常传统的jdbc连接,到数据库连接池(dbcp.c3p0)封装后的jdbc连接,再到各种框架对数据库连接 ...
- 20210213 黑马javaweb JDBC
# 今日内容 1. JDBC基本概念 2. 快速入门 3. 对JDBC中各个接口和类详解 ## JDBC: 1. 概念:Java DataBase Connectivity ...
- JavaWeb JDBC
1.实现第一个JDBC程序 在MySQL中创建一个名称为jdbc的数据库,然后在该数据库中创建一个users表,创建 数据库和表的SQL语句如下所示. CREATE DATABASE jdbc;USE ...
- javaweb -- jdbc
文章目录 数据库驱动 JDBC 下载jar包 第一个 JDBC 案例 1.创建一个 普通的java 项目 2.引入jar 包 3.编写测试代码 statement 对象 抽取JDBC工具类 SQL注入 ...
- Java项目:医院管理系统(java+javaweb+jdbc+Mysql+lw)
源码获取:博客首页 "资源" 里下载! 功能介绍: 登录.注册.用户/管理员(角色).用户信息管理.科系信息管理.查看所有科系.新增科系信息.删除指定科系.修改科系信息.病房信息管 ...
- Java项目:人事管理系统(java+javaweb+jdbc)
源码获取:博客首页 "资源" 里下载! 功能介绍: 登录.新增.修改.离职 员工管理控制层: @Controller @RequestMapping("/employee ...
最新文章
- 力扣【下一个更大元素】leetcode-503.下一个更大元素 Ⅱ:单调栈解法+循环数组解法
- 你的手机上未安装应用程序”的解决方案
- mutable、volatile的使用
- 程序员与代码的几种关系,每种都会被我们鄙视
- groovy怎样从sql语句中截取表名_Mysql和SQL
- 我的第一本算法书(图解算法)——什么是哈希表
- python变量赋值方式_【Python入门学习】详谈python变量和变量赋值语句
- 大数据 机器学习 人工智能_在这个季节中,您如何免费学习数据科学,人工智能和机器学习。...
- 马尔可夫模型(MM) 马尔可夫链
- 财务知识 - 营业税
- 51单片机英文缩写全称
- 新西兰计算机设计专业,2020年出国新西兰学习计算机专业的要求是什么?
- linux用户的目录结构,Linux下用户管理、目录结构
- Day45. 数据分析实战(1):超市运营数据分析
- validateform.js表单验证工具
- 2023二建建筑施工备考第二天Day04
- Fotor 在线设计工具 在线设计网站
- Bootstrap 4中使用BootstrapTable时需要导入popper.js
- 20200213ubuntu20.04下的笔记本USB摄像头的相关资料
- MMD初尝试1(骨骼系统)
热门文章
- python爬取微博用户信息(三)—— 创建MicroBlog类实例
- 计算机主板用户可以自己安装的是,台式电脑怎么自己动手组装 史上最全的组装电脑详细图文教程...
- 径向模糊shader
- vue字符串替换,vue将字符串内指定字符替换,vue字符串替换函数.replace如何使用
- vue-cli3.0引入高德3d动画效果方法一:
- css-animation动画
- MySQL项目-淘宝用户购物行为数据可视化分析
- Mac文字处理与页面排版Pages如何在空白地方添加下划线?
- Polarr Photo教程:打造艳丽夕阳效果
- ftp服务器不能显示中文版,ftp服务器显示中文