测试类:
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. C# 中的枚举类型 enum (属于值类型)

    原文 C# 中的枚举类型 enum (属于值类型) C# 支持两种特殊的值类型:枚举和结构. 声明枚举:声明时要声明所有可能的值. using System; using System.Collect ...

  2. Java String StringBuffer StringBuilder

    String  字符串常量存储在常量区,每次追加操作会创建新的对象: StringBuffer  字符串变量  线程安全 在堆上创建,每次追加操作在原对象上进行操作:  速度 StringBuffer ...

  3. HW6.25

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  4. iso定制封装

    http://xiaoli110.blog.51cto.com/1724/1617541

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

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

  6. Android实例-多窗口的切换(XE8+小米2)

    1.图片一是程序运行后的界面. 2.图片二是点击"非模态显示"的界面. 3.图片三是点击"模诚显示"的界面(提示平台不支持). unit Unit1; inte ...

  7. light oj 1214 - Large Division

    1214 - Large Division   PDF (English) Statistics Forum Time Limit: 1 second(s) Memory Limit: 32 MB G ...

  8. [C语言 - 14] 进制

    进制 二进制 int number = 0B1010; 没有二进制的输出格式   八进制     int number2 = 07613;     printf("number2 = %o\ ...

  9. UI基础 获取当前屏幕显示的viewcontroller

    #pragma mark - 获取当前屏幕显示的viewcontroller - (UIViewController *)getCurrentVC { UIViewController *result ...

  10. 剑指OFFER之顺时针打印矩阵(九度OJ1391)

    题目描述: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2 ...