1.创建一个数据库
CREATE DATABASE jdbcStudy CHARACTER SET utf8 COLLATE utf8_general_ci; USE jdbcStudy; CREATE TABLE users( id INT PRIMARY KEY, `name`VARCHAR (40), `password`VARCHAR(60), email VARCHAR(60), birthday DATE ); INSERT INTO users (id,`name`,`password`,`email`,`birthday`) VALUES (1,'zhansan','123456','zs@sina.com','1980-12-04'), (2,'zhanlai','123456','as@lin.com','1982-09-16'), (3,'hunagli','123456','ad@li.com','1999-09-09');
2.导入数据库驱动
创建一个包
把mysql-connector-java-5.1.47.jar复制粘贴进去
加载一下,这个包才用用
2.java---IDEA创建一个项目
1.加载驱动(两种写法,推荐第二种)
DriverManager.registerDriver(new com.mysql.jdbc.Driver());//这种写法加载完,还创建了一个注册了一个,可能会重复注册
Class.forName("com.mysql.jdbc.Driver");//固定写法
2.url
协议://主机地址:端口号/数据库?参数1&参数2&参数3
useUnicode=true 运用统一编码(支持中文) &characterEncoding=utf8 编码类型为utf-8 &useSSL=true (使用安全的连接)mysql数据库用的是gbk编码,而项目数据库用的是utf-8编码。存取时进行转化
mysql===3306
String url = "jdbc:mysql://localhost:3306/jdbcstudy? 。。。";
oralce=== 1521
jdbcoralce:thin:@local:1521:sid
3.连接数据库DriverManager
connection 代表数据库
数据库设置自动提交
connection.setAutoCommit();
事务提交
connection.commit();
事务回滚
connection.rollback();
4.获得执行sql的对象Statement
statement.executeQuery(sql);//查询操作返回Resultset
statement.execute();//执行任何SQL
statement.executeLargeUpdate();//更新、插入、删除。都是用这个,返回一个受影响的行数
5.获得返回的结果集
resultSet.getObject();//不知道列类型的时候使用
//知道就是使用对应的类型
resultSet.getInt();
resultSet.getString();
resultSet.getDate();
。。。。。
遍历
resultSet.beforeFirst();//把光标移动到最前面 resultSet.afterLast();//把光标移动到最后面 resultSet.next();//移动到下一个 resultSet.previous();//移动到下一行 resultSet.absolute(row);//移动到指定位置
6.释放连接
很占用内存,用完就关掉
resultSet.close();
statement.close();
connection.close();
package com.sql.my.lin.less01; import javax.security.auth.login.Configuration; import java.sql.*; //我的第一个JDBC程序 public class jdbcFirstDome { public static void main(String[] args) throws ClassNotFoundException, SQLException { //1.加载驱动 Class.forName("com.mysql.jdbc.Driver");//固定写法 //2.用户信息和url //useUnicode=true 运用统一编码(支持中文) &characterEncoding=utf8 编码类型为utf-8 &useSSL=true (使用安全的连接) // mysql数据库用的是gbk编码,而项目数据库用的是utf-8编码。存取时进行转化 String url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=true"; String username="root"; String password="123456"; //3.连接成功,数据库对象 Connection 代表数据库 Connection connection = DriverManager.getConnection(url,username,password); // 4.执行SQL的对象 Statement 执行sql对象 Statement statement= connection.createStatement(); //5.执行SQL的对象 去 执行SQL,可能存在结果,查看返回结果 String sql ="SELECT*FROM users"; ResultSet resultSet = statement.executeQuery(sql);// 返回的结果集 while(resultSet.next()){ System.out.println("id="+resultSet.getObject("id")); System.out.println("name="+resultSet.getObject("name")); System.out.println("pwd="+resultSet.getObject("password")); System.out.println("email="+resultSet.getObject("email")); System.out.println("birth="+resultSet.getObject("birthday")); } //6.释放连接 resultSet.close(); statement.close(); connection.close(); } }
本文来自博客园,作者:阿霖找BUG,转载请注明原文链接:https://www.cnblogs.com/lin-07/articles/16259549.html