JDBC基础一
JDBC:java database connectivity SUN公司提供的一套操作数据库的标准规范。
JDBC与数据库驱动的关系:接口与实现的关系。
JDBC规范(掌握四个核心对象):
DriverManager:用于注册驱动
Connection: 表示与数据库创建的连接
Statement: 操作数据库sql语句的对象
ResultSet: 结果集或一张虚拟表
实体类
package com.mf.domain;
import java.util.Date; public class User {
private int id;
private String name;
private int age;
private Date createtime;
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 Date getCreatetime() {
return createtime;
}
public void setCreatetime(Date createtime) {
this.createtime = createtime;
} }
CRUD
package com.mf.jdbc;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.mf.domain.User;
public class CRUD {
public static void main(String[] args) throws Exception {
//3种连接方式
Connection conn=null;
//得到执行sequel语句的对象Statement
Statement stmt=null;
//查 执行sql语句,并返回结果
ResultSet rs=null;
try {
//注册驱动
//DriverManager.registerDriver(new com.mysql.jdbc.Driver());//不建议使用原因有2个:> 导致驱动被注册2次。> 强烈依赖数据库的驱动jar
Class.forName("com.mysql.jdbc.Driver");//此处采用反射机制加载
//获取连接Connection //Connection 接口 多态 父类的壳子接收子类的实现,有利于后期代码的扩展 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root"); /*Properties info=new Properties();
info.setProperty("user", "root");
info.setProperty("password", "root");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", info);*/ //Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=root"); stmt = conn.createStatement(); //增
/*stmt = conn.prepareStatement("INSERT INTO users VALUES(?,?)");
((PreparedStatement) stmt).setString(1, "tom");
((PreparedStatement) stmt).setInt(2, 5);*/ /*int i = stmt.executeUpdate("INSERT INTO USER (`Name`, `Age`) VALUES('mf',20)");
if(i>0){
System.out.println("success");
}
//删
int j = stmt.executeUpdate("UPDATE USER SET Age=25 WHERE ID=1");
if(j>0){
System.out.println("success");
}
//改
int k = stmt.executeUpdate("DELETE FROM USER WHERE ID = 1 ");
if(k>0){
System.out.println("success");
}*/ rs = stmt.executeQuery("select * from user");
//处理结果
List<User> list=new ArrayList<User>();
while(rs.next()){
User user=new User();
user.setName(rs.getString("Name"));
user.setAge(rs.getInt("Age"));
user.setCreatetime(rs.getDate("CreatTime"));
list.add(user);
System.out.println(list.size());
System.out.println("---------------------------------------------------");
System.out.println(rs.getObject("Name")+":"+rs.getObject("Age")+":"+rs.getObject("CreatTime")); }
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
//关闭资源
if(rs!=null)
{
try {
rs.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
rs=null;
}
if(stmt!=null)
{
try {
stmt.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
stmt=null;
}
if(conn!=null)
{
try {
conn.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
conn=null;
}
}
}
}
JDBC基础一的更多相关文章
- jdbc基础 (五) 连接池与数据源 DBCP以及C3P0的使用
一.连接池的概念和使用 在实际应用开发中,特别是在WEB应用系统中,如果JSP.Servlet或EJB使用JDBC直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接.打开数据库.存取数 ...
- jdbc基础 (四) 批处理
批处理,就是字面上的意思,一次性处理一批sql语句. 直接看例子吧: package com.cream.ice.jdbc; import java.sql.Connection; import ja ...
- jdbc基础 (三) 大文本、二进制数据处理
LOB (Large Objects) 分为:CLOB和BLOB,即大文本和大二进制数据 CLOB:用于存储大文本 BLOB:用于存储二进制数据,例如图像.声音.二进制文件 在mysql中,只有B ...
- jdbc基础 (二) 通过properties配置文件连接数据库
csdn博文地址:jdbc基础 (二) 通过properties配置文件连接数据库 上一篇描述了对mysql数据库的简单操作,下面来看一下开发中应该如何灵活应用. 因为jdbc对数据库的驱动加载.连接 ...
- JDBC基础教程
本文实例讲述了JDBC基础知识与技巧.分享给大家供大家参考.具体分析如下: 1.什么是JDBC? 通俗来讲JDBC技术就是通过java程序来发送SQL语句到数据库,数据库收到SQL语句后执行,把结果返 ...
- Java 中 JDBC 基础配置
Java 中 JDBC 基础配置 <resource auth="Container" driverclassname="oracle.jdbc.driver.Or ...
- Unit01: JDBC原理 、 JDBC基础编程
Unit01: JDBC原理 . JDBC基础编程 这个文件里面有两块内容: 1.用比较麻烦的方式连接数据库,test1(),test4() 2.创建DBTool,测试DBTool连接数据库 ,tes ...
- Java应用程序连接数据库--JDBC基础
Java应用程序连接数据库--JDBC基础 Java应用程序连接数据库–JDBC基础 <!-- MySQL驱动,连接数据库用,由数据库厂商提供 --> <dependency&g ...
- JDBC基础教程:tutorialspoint-jdbc
来自turorialspoint的JDBC基础教程(英文),官网:https://www.tutorialspoint.com/jdbc/index.htm 这个教程在国内已经被翻译成中文(不过是属于 ...
- JDBC基础:JDBC快速入门,JDBC工具类,SQL注入攻击,JDBC管理事务
JDBC基础 重难点梳理 一.JDBC快速入门 1.jdbc的概念 JDBC(Java DataBase Connectivity:java数据库连接)是一种用于执行SQL语句的Java API,可以 ...
随机推荐
- ListView中内容的动画效果
LayoutAnimationController用于为一个layout里面的控件,或者是一个ViewGroup里面的控件设置动画效果,可以在XML文件中设置,亦可以在Java代码中设置. 一种直接在 ...
- (转)Java DES 与Base64
原文地址http://blog.csdn.net/tomatozq/article/details/20773559 1,DES /** * 解密 * @param message * @param ...
- oracle插入主键数据、sequence和触发器
一.创建表: id number;并设为主键 name VARCHAR2(20 BYTE) 二. 插入数据 2.1 insert into addservice.test_table (id,na ...
- 项目积累——SQL积累
select sum(njts)-sum(ysyts) from njsyqk where ygdh='888882' and ((yxbz is null) or (yxbz='1')) selec ...
- List集合分组
var ArticleList = new Services.Data.SearchService().GetArticleBaseList(ref param); IEnumerable<IG ...
- 那些年,我们开发的接口之:QQ登录(OAuth2.0)
那些年,我们开发的接口之:QQ登录(OAuth2.0) 吴剑 2013-06-14 原创文章,转载必须注明出处:http://www.cnblogs.com/wu-jian 前言 开发这些年,做过很多 ...
- jmeter随笔(1)-在csv中数据为json格式的数据不完整
昨天同事在使用jmeter遇到问题,在csv中数据为json格式的数据,在jmeter中无法完整的取值,小怪我看了下,给出解决办法,其实很简单,我们一起看看,看完了记得分享给你的朋友. 问题现象: 1 ...
- Oracle 删表前验证表名是否存在并且删除
DECLARE num NUMBER; BEGIN SELECT COUNT(1) INTO num FROM USER_TABLES WHERE TABLE_NAME = UPPER('tableN ...
- 一步步教你为网站开发Android客户端---HttpWatch抓包,HttpClient模拟POST请求,Jsoup解析HTML代码,动态更新ListView
本文面向Android初级开发者,有一定的Java和Android知识即可. 文章覆盖知识点:HttpWatch抓包,HttpClient模拟POST请求,Jsoup解析HTML代码,动态更新List ...
- 记录网上资源URL
FQ(使用路由器): http://kennylee26.iteye.com/blog/1887753 http://www.iteye.com/search?type=all&query=s ...