测试类:
1 import java.util.ArrayList;
import java.util.List; /**
* 创建数据库:
* 1.加载驱动
* Class.forName("org.sqlite.JDBC");
* 2.通过驱动管理类获得Connection对象 jdbc:sqlite:+数据库的路径
* Connection connection = DriverManager.getConnection("jdbc:sqlite:d:/myTest.db");
* 3.通过Connection对象获得Statement对象
* Statement statement = connection.createStatement();
* 4.通过statement对象执行sql语句,获得结果集
* ResultSet rSet = statement.executeQuery("select * from Student");
*
* @author Administrator
*
*/
/**
* exc:
* 通过Java代码实现,创建表,并对其进行增删改查的功能
*
* 注意:需自导入 sqlitejdbc-0.5.4.jar
* @author Administrator
* !!!
* 如果出现以下错误:Unsupported major.minor version 52.0
* 解决方法: 修改编译方式,降低javaee ,javase的版本,同时让编译方式和Jdk版本对应。
* 右击项目 properties或者alt + enter 选择java Complier 选择 Complier compliance level的版本和当前jdk版本对应,
* 如果是web项目还要降低 jstl 和javaee的版本。
*/
public class Test {
public static void main(String[] args) {
TestJDBC tj = new TestJDBC();
tj.createTable();
tj.addUser("张三", "男");
tj.addUser("李四", "女");
tj.addUser("王五", "男");
tj.addUser("赵六", "男");
System.out.println( "增:"+tj.addUser("周七", "女"));
System.out.println("删:"+tj.deleteUser(4));
System.out.println("改:"+tj.updateUser(2, "haha", "不详"));
List<User> list = tj.getAllUser();
for (User user : list) {
System.out.println("查:"+user);
} }
}

User类:

 public class User {
private String name;
private int _id;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return _id;
}
public void setId(int id) {
this._id = id;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return "User [name=" + name + ", _id=" + _id + ", sex=" + sex + "]";
} }

TestJDBC类

 import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List; public class TestJDBC {
Connection con;//数据库一个连接对象
Statement statement;//执行sql语句
ResultSet rs;//得到select语句执行的结果集 public Statement getStatement(){
try {
//加载驱动
Class.forName("org.sqlite.JDBC");
//获得connection对象
con = DriverManager.getConnection("jdbc:sqlite:d:/mySqlite.db");//没有会自动创建一个数据库
//得到Statement对象
statement = con.createStatement();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return statement; }
public void closeConnection(){
if(con!= null){
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(statement != null){
try {
statement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }
public void createTable(){
statement = getStatement();
try {
statement.execute("create table if not exists User(_id Integer primary key autoincrement,name varchar(20),sex varchar(20))");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
closeConnection();
}
}
public boolean addUser(String name,String sex){
statement = getStatement();
try {
//insert into User(name,age) values('张三',18)
int count = statement.executeUpdate("insert into User(name,sex) values('"+name+"','"+sex+"')");
if(count>0){
return true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
closeConnection();
}
return false;
}
public boolean deleteUser(int id){
statement = getStatement();
try {
int count = statement.executeUpdate("delete from User where _id = "+id);
if(count>0)
return true;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
public boolean updateUser(int id,String name,String sex){
statement = getStatement();
try {
int count = statement.executeUpdate("update User set name='"+name+"',sex='"+sex+"'where _id ="+id);
if(count>0)
return true;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
public List<User> getAllUser(){
List<User> list = new ArrayList<User>(); statement = getStatement();
try {
rs = statement.executeQuery("select * from User");
while(rs.next()){
User user = new User();
user.setName(rs.getString("name"));
user.setSex(rs.getString("sex"));
user.setId(rs.getInt("_id"));
list.add(user);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
closeConnection();
} return list; }
}

JAVA_JDBC的更多相关文章

  1. java_JDBC(4)

    一.Statement import java.sql.*; public class TestJDBC { public static void main(String[] args) { Conn ...

  2. java_JDBC字段对应

    地址: http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/java.102/B19275-03/datacc.htm ...

  3. java_JDBC(3)

    Batch和Fetch两个特性非常重要.Batch相当于JDBC的写缓冲,Fetch相当于读缓冲 如果把JDBC类比为JAVA IO的话,不使用Fetch和Batch相当于直接使用FileInputS ...

  4. java_JDBC(2)

    1.Statement 每次执行sql语句,数据库都要执行sql语句的编译 ,最好用于仅执行一次查询并返回结果的情形,效率高于PreparedStatement. 2.PreparedStatemen ...

  5. java_JDBC(1)

    Java连接Oracle步骤: 1.注册加载驱动 驱动名:DRIVER="oracle.jdbc.driver.OracleDriver";Class.forName(" ...

  6. Java_JDBC一般写法

    JDBC是Java DataBase Connectivity,Java程序访问数据库的标准接口. 如果是maven工程先加入依赖的jar包: <dependency> <group ...

  7. Java_JDBC连接数据库_使用读取配置文件的方式

    package com.homewoek3_4.dao; import java.io.IOException; import java.io.InputStream; import java.sql ...

  8. Java_JDBC连接数据库

    package com.accp.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Pre ...

  9. Java_JDBC 连接

    今天,接着上一篇( mysql 数据库 )的基础上,我就写一下 Java 怎样连接数据库,并且操作数据库. 首先,我们先来准备一下数据库连接的驱动: mysql 的 jar 包下载地址:https:/ ...

随机推荐

  1. (Java)《head first java》值得Java或面向对象基础的新手看。

    看完这本书后本人收获良多. 内容对Java以及面向对象的入门者非常友好. 抽象的内容惯用图解的方法来剖析,通俗易懂 之前看C#入门经典的面向对象时,依然浓浓的一头雾水. (1)很不解为何实例化要写成A ...

  2. MongoDB之二基础入门(安装启动)

    mongodb中有三元素:数据库,集合,文档,其中“集合” 就是对应关系数据库中的“表”,“文档”对应“行”. 一. 下载 上MongoDB官网 ,我们发现有32bit和64bit,这个就要看你系统了 ...

  3. 《深入Java虚拟机学习笔记》- 第18章 finally子句

    本章主要介绍字节码实现的finally子句.包括相关指令以及这些指令的使用方式.此外,本章还介绍了Java源代码中finally子句所展示的一些令人惊讶的特性,并从字节码角度对这些特征进行了解释. 1 ...

  4. HDU 3642 Get The Treasury 线段树+分层扫描线

    http://www.acmerblog.com/hdu-3642-get-the-treasury-6603.html 学习:三维就是把竖坐标离散化分层,每一层进行线段树二维面积并就好了

  5. 50道经典的JAVA编程题(41-45)

    50道经典的JAVA编程题(41-45),苦逼的程序猿,晚上睡不着了编程吧~今天坚持做10道题!发现编程能是我快乐...O(∩_∩)O哈哈~能平静我烦乱的心,剩下5道题留到考试完了再做吧!该睡觉了.. ...

  6. jQuery.Autocomplete实现自动完成功能

    一.http://www.w3c.com.cn/jquery-plugin-autocomplete-参数及实例 二.jQuery plugin: Autocomplete 参数 minChars: ...

  7. jqgrid使用sql row_number进行分页

    背景 系统中使用了jqgrid的展示,现在要处理10w+的数据量 现状 使用了全查询的,查询到了10w+的数据放到了datatable中,每次页面刷新需要9秒多,并且传递给另一个dll来处理一些事情. ...

  8. Android ADB使用

    ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机). 它的主要功能有 ...

  9. Android实例-利用WebBrowser实现浏览器(XE8+小米2)

    结果: 1.网络好的情况下,打开很快,很流畅. 2.地址栏真心不好使,如果真要做应用,这块必须自己优化一下. 实例代码: unit Unit1; interface uses System.SysUt ...

  10. [置顶] 解成电OJ1003真实的谎言的记录

    原题目 Description   N个人做一个游戏,游戏中每个人说了一句话(可能是真的也可能是假的) 第i个人说:“N个人中有至少有ai个,至多有bi个人说的是真话!”(i = 1, 2, 3….. ...