JDBC配置connector的jar包

1.项目下新建lib文件夹

2.将mysql-connector-java-版本号.jar复制到lib目录下

3.右键项目名,选择Properties选项

4.点击Add JARS...,选中刚复制的jar包后,点击Apply=》OK

连接数据库

连接的过程

1)加载驱动

2)创建连接对象

3)创建执行对象

4)执行sql语句

5)处理返回结果

6)关闭访问资源

public class JdbcDemo01{
public static final String URL = "jdbc:mysql://localhost:3306/situ001?serverTimezone=UTC&useSSL=false";//&useSSL=false可不加,serverTimezone=UTC表示时区
public static final String USER = "root";
public static final String PASS = "123456"; static Connection conn = null;
static PrepareStatement ps = null;
static ResultSet rs = null; //建立数据库连接
public static void init(){
try{
//加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//建立连接
conn = DriverManager.getConnection(URL,USER,PASS);
System.out.println("建立连接成功");
}catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
} //查询
public static void query(String sql){
init();
try{
ps = conn.prepareStatement(sql);
rs = ps.excuteQuery(sql);
while(rs.next()){
System.out.println(rs.getInt("id")+","+rs.getString("s_name"));
}
}catch (SQLException e) {
e.printStackTrace();
}finally{
close();
}
} //修改表(增删改)
public static void excute(String sql){
init();
try{
ps = conn.prepareStatement(sql);
int rows = ps.excuteUpdate(sql);
if(rows == 0) System.out.println("没有改变表中的记录");
System.out.println("修改成功");
}catch (SQLException e) {
e.printStackTrace();
}finally{
close();
} //添加一条数据同时返回其主键
public static Integer addReturnPK(String sql){
init();
try{
ps = conn.prepareStatement(sql,ps.RETURN_GENERATED_KEYS);
int rows = ps.excuteUpdate();
if(rows == 0) return null;
Result rs2 = ps.getGeneratedKeys();
Integer id = null;
while(rs2.next()){
id = rs2.getInt(1);
}
return id;
}catch (SQLException e) {
e.printStackTrace();
return null;
}finally{
close();
}
} //关闭连接
public static void close(){
try {
if(rs != null) rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(ps != null) ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
} public static void main(String[] args){
//测试查询方法
String sql = "select*from student"; } }

查询 和 增删改方法的优化(输入参数)


public static void excute(String sql, String name, Integer age){
init();
try {
ps = conn.prepareStatement(sql);
ps.setString(1, name);
ps.setInt(2, age);
int rows = ps.executeUpdate();
if (rows >0) {
System.out.println("执行成功");
}else{
System.out.println("没有影响记录");
} } catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("执行失败");
}finally {
close();
} } public static void query(String sql, Integer id,String name){
init();
try {
ps = conn.prepareStatement(sql);
ps.setInt(1, id);
ps.setString(2, name);
rs = ps.executeQuery();
while(rs.next()){
System.out.println(rs.getInt("id")+","+rs.getString("s_name"));
} } catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
close();
} }

day23 JDBC(Java Database Connection)连接 与 通配符与插入返回主键的更多相关文章

  1. [19/05/06-星期一] JDBC(Java DataBase Connectivity,java数据库连接)_基本知识

    一.概念 JDBC(Java Database Connectivity)为java开发者使用数据库提供了统一的编程接口,它由一组java类和接口组成.是java程序与数据库系统通信的标准API. J ...

  2. JDBC(Java Database Connectivity,Java数据库连接)API是一个标准SQL(Structured Query Language

    JDBC(Java Database Connectivity,Java数据库连接)API是一个标准SQL(Structured Query Language,结构化查询语言)数据库访问接口,它使数据 ...

  3. jdbc、Mybatis插入数据主键回显的实现方法

    插入数据的时候,往往需要获取主键值.但是有时候主键是自增长的那么,就不太适用手动添加主键值了,此时需要一种可以回显主键参数的方法, 下面以jdbc.mybatis的实现举例 此时使用的是jdbc的话或 ...

  4. JDBC 返回主键

    转载至:https://www.liyongzhen.com/ 上一节课里我们学习通过PreparedStatement对象执行带参数的查询SQL和修改SQL. 这节课我们学习使用 PreparedS ...

  5. Java MyBatis 插入数据库返回主键

    最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User ...

  6. Java MyBatis insert数据库数据后返回主键

    <selectKey keyProperty="id" resultType="java.lang.Long" order="AFTER&quo ...

  7. Java MyBatis 插入数据库返回主键--insertSelective这样就不用每次到数据库里面查询了

    insertSelective---Java MyBatis 插入数据库返回主键--insertSelective这样就不用每次到数据库里面查询了 https://www.cnblogs.com/xi ...

  8. JDBC (Java DataBase Connectivity)数据库连接池原理解析与实现

    一.应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大 ...

  9. [19/05/07-星期二] JDBC(Java DataBase Connectivity)_CLOB(存储大量的文本数据)与BLOB(存储大量的二进制数据)

    一. CLOB(Character Large Object ) – 用于存储大量的文本数据 – 大字段有些特殊,不同数据库处理的方式不一样,大字段的操作常常是以流的方式来处理的.而非一般的字段,一次 ...

  10. [19/05/08-星期三] JDBC(Java DataBase Connectivity)_ORM(Object Relationship Mapping, 对象关系映射)

    一.概念 基本思想: – 表结构跟类对应: 表中字段和类的属性对应:表中记录和对象对应: – 让javabean的属性名和类型尽量和数据库保持一致! – 一条记录对应一个对象.将这些查询到的对象放到容 ...

随机推荐

  1. Python微服务实战

    文档地址:https://www.qikqiak.com/tdd-book/ GitHub地址:https://github.com/cnych/flask-microservices-users 源 ...

  2. Elasticsearch:理解 mapping 中的 null_value

    转载自:https://elasticstack.blog.csdn.net/article/details/114266732 null 不能被索引或搜索. 当字段设置为 null(或空数组或 所有 ...

  3. 3_MyBatis

    一. 引言 1.1 什么是框架? 软件的半成品, 解决了软件开发过程中的普适性问题, 从而简化了开发步骤, 提升了开发效率 1.2 什么是ORM框架? ORM(Object Relational Ma ...

  4. java基础二、类与继承

    员工类 Employee, 经理类:Manager public class Employee { private String name; private double salary; privat ...

  5. VScode开发STM32/GD32单片机-MakeFile工程JlinkRTT配置

    本次使用开发板为STM32F401CCU6,使用CubeMX配置一个Makefile工程 配置时候为内部时钟 工程选择makefile工程类型 只生成需要的文件 用VSCode打开后显示很多波浪线 选 ...

  6. 会话跟踪技术 - Cookie 和 Session 快速上手 + 登陆注册案例

    目录 1. 会话跟踪技术概述 2. Cookie 2.1 Cookie的概念和工作流程 2.2 Cookie的基本使用 2.3 Cookie的原理分析 2.4 Cookie的使用细节 2.4.1 Co ...

  7. 运行eeui项目不出现 WiFI真机同步 IP地址

    从git上 clone项目之后,安装依赖  npm install eeui环境配置    npm install eeui-cli -g 问题:npm run dev  后项目一直不出现 WiFI真 ...

  8. 2022.3.12 提高A组总结&反思

    今天有点上头了 T1:开场秒,大水题,一眼莫队了,最后没打 T2:开场以为是费用流,后来发现费用流做不了,在做T3的时候突然发现可以状压,也没打 T3:这道题给我极大的亲切感,导致我一个上午硬钢这道题 ...

  9. resutful的使用和增强版的swagger2

    1.REST的特征 统一接口:客户和服务器之间通信的方法必须统一,RESUTFUL风格的数据元操作CRUD分别对应HTTP方法----GET用来获取数据源,POST用来新建资源,PUT用来更新资源,, ...

  10. 自建流媒体如何录制视频。齐博x1齐博x2齐博x3齐博x4齐博x5齐博x6齐博x7齐博x8齐博x9齐博x10

    http://x1.eapis.site/ 先打开配置文件\conf\config.php 里边的内容大概如下,第一项是必须要配置的,换成你的网站域名网址.第二项,如果流媒体服务器配置了https证书 ...