java中jdbc的基础知识
2013-08-05 22:39
495 查看
JDBC 配置环境
1. 切换视图:MyEclipse Database Explorer
2. 在左边工作区右键选择“NEW”。(先在oracle中创建hasen用户,密码hasen)
Drivertemplate< Oracle (Thin driver) >
Drivername < oracle.jdbc.Driver.OracleDriver >
ConnectionURL < jdbc:oracle:thin:@127.0.0.1:1521:XE >
Username <hasen>
Password<hasen>
DriverJars--Add JAR-- ojdbc14.jar
3.选择“Save password”---- “finish”
4.切换回“MyEclipse Java Enterprise”
5.新建一个“Java Project”
6.在src目录下新建“test.sql”文件
7.写入查询语句
8.切换视图:MyEclipse Database Explorer
9.选择左边的“oracle.jdbc.driver.OracleDriver”,右键选择“connect”,
10.在connection的下拉框中选择“oracle.jdbc.driver.OracleDriver”,选择要执行的SQL语句,点击向右的三角箭头,执行语句。
create table class and studentin oracle database.
file:Student.java(class)
file:TestJDBC
file:TestDML.java (连续执行一系列命令)
file:TestPSTMT.java
用oracle.properties配置文件实现一个工厂,该工厂用来产生连接
file:oracle.properties (press ALT+ENTER tosee the path)
file:JDBCConnectionFactory.java
file :TestFactory.java
1. 切换视图:MyEclipse Database Explorer
2. 在左边工作区右键选择“NEW”。(先在oracle中创建hasen用户,密码hasen)
Drivertemplate< Oracle (Thin driver) >
Drivername < oracle.jdbc.Driver.OracleDriver >
ConnectionURL < jdbc:oracle:thin:@127.0.0.1:1521:XE >
Username <hasen>
Password<hasen>
DriverJars--Add JAR-- ojdbc14.jar
3.选择“Save password”---- “finish”
4.切换回“MyEclipse Java Enterprise”
5.新建一个“Java Project”
6.在src目录下新建“test.sql”文件
7.写入查询语句
8.切换视图:MyEclipse Database Explorer
9.选择左边的“oracle.jdbc.driver.OracleDriver”,右键选择“connect”,
10.在connection的下拉框中选择“oracle.jdbc.driver.OracleDriver”,选择要执行的SQL语句,点击向右的三角箭头,执行语句。
create table class and studentin oracle database.
create table class( id number(10) primary key, name varchar2(25) ); insert into class values(1,'HT1303'); create table student( id number(10) primary key , name varchar2(15) unique, registerdate date default sysdate, age number(3) not null, gender varchar2(1) check (gender in ('0','1')), class_id number(10) , foreign key(class_id) references class (id) on delete cascade );
file:Student.java(class)
public class Student { private int id; private String name ; private Date registerdate; private int age; private String gender; private int class_id ;
file:TestJDBC
public class TestJDBC { private List<Student> students; public List<Student> getStudents() { return students; } public static void main(String[] args) { try { /* * 1.注册数据库驱动,使用反射向虚拟机中注册 * oracle :oracle.jdbc.driver.OracleDriver * mysql:com.mysql.jdbc.Driver * sqlite:org.sqlite.JDBC */ Class.forName("oracle.jdbc.driver.OracleDriver"); /* *2.获取数据库连接 *@para1 连接数据库的URL *oracle(jdbc:oralce:thin:@127.0.0.1:1521:XE) *Mysql(jdbc:mysql://127.0.0.1:3306/databaseName) *连接sqlite3的URL(jdbc:sqlite:stu.db) *@para2 用户名 *@para3 密码 */ Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:XE", "hasen", "hasen"); //System.out.println(connection); /* * 3.由connection创建执行执行SQL的statement */ String sql = "select * from student"; Statement stmt = connection.createStatement(); /* * 4.执行SQL语句 */ ResultSet rs = stmt.executeQuery(sql); /* * 5.处理结果集 * 使用rs.next()判断是否还有下一条 * 获取结果可以通过列名或者列的顺序获得 */ System.out.println("id\tname\tregisterdate\tage\tgender\tclass_id"); while(rs.next()){ int id = rs.getInt("id"); System.out.print(id+"\t"); String name = rs.getString("name"); //String name = rs.getString(1); System.out.print(name +"\t"); System.out.print(rs.getDate("registerdate")+"\t"); System.out.print(rs.getInt("age")+"\t"); System.out.print(rs.getString("gender")+"\t"); System.out.println(rs.getInt("class_id")+"\t"); } /* * 6.关闭资源 */ rs.close(); stmt.close(); connection.close(); } catch (Exception e) { e.printStackTrace(); } } }
file:TestDML.java (连续执行一系列命令)
public class TestDML { public static void main(String[] args) { try { Class.forName("oracle.jdbc.driver.OracleDriver"); Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:XE", "hasen", "hasen"); String sql1 = "insert into student values(my_seq.nextVal,'one4',sysdate,21,'0',1)"; String sql2 = "insert into student values(my_seq.nextVal,'one5',sysdate,23,'1',1)"; String sql3 = "insert into student values(my_seq.nextVal,'one6',sysdate,22,'0',1)"; String sql4 = "update student set registerdate = " + "to_date('1979-05-18 23:20:00','yyyy-mm-dd hh24:mi:ss') where name = 'two'"; //String sql5 = "delete from student where id = 8" ; Statement stmt = connection.createStatement(); stmt.addBatch(sql1); stmt.addBatch(sql2); stmt.addBatch(sql3); stmt.addBatch(sql4); //stmt.addBatch(sql5); stmt.executeBatch(); stmt.close(); connection.close(); } catch (Exception e) { e.printStackTrace(); } } }
file:TestPSTMT.java
public class TestPSTMT { public static void main(String[] args) { try { Class.forName("oracle.jdbc.driver.OracleDriver"); Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:XE", "hasen", "hasen"); //String sql = "insert into student values(my_seq.nextVal,'one4',sysdate,21,'0',1)"; String sql = "insert into student values(my_seq.nextVal,?,?,?,?,?)"; PreparedStatement pstmt = connection.prepareStatement(sql); pstmt.setString(1, "boss"); pstmt.setDate(2, new Date(System.currentTimeMillis())); pstmt.setInt(3, 31); pstmt.setString(4, "1"); pstmt.setInt(5, 1); pstmt.execute(); connection.close(); } catch (Exception e) { e.printStackTrace(); } } }
用oracle.properties配置文件实现一个工厂,该工厂用来产生连接
file:oracle.properties (press ALT+ENTER tosee the path)
driver=oracle.jdbc.driver.OracleDriver url=jdbc:oracle:thin:@127.0.0.1:1521:XE username=hasen password=hasen
file:JDBCConnectionFactory.java
public class JDBCConnectionFactory { private static String URL; private static String DRIVERNAME ; private static String USERNAME ; private static String PASSWORD; static { Properties properties = new Properties(); try { properties.load( new FileInputStream ( new File("D:/Workspaces/MyEclipse 10/Corejava/src/jdbc/oracle.properties"))); URL = properties.getProperty("url"); DRIVERNAME = properties.getProperty("driver"); USERNAME = properties.getProperty("username"); PASSWORD = properties.getProperty("password"); Class.forName(DRIVERNAME); } catch (Exception e) { e.printStackTrace(); } } public static Connection getConnection() { try { return DriverManager.getConnection(URL, USERNAME, PASSWORD); } catch (SQLException e) { e.printStackTrace(); } return null; } public static void main(String[] args) { System.out.println(JDBCConnectionFactory.getConnection()); } }
file :TestFactory.java
public class TestFactory { private List<Student> students = new ArrayList<Student>(); public List<Student> getStudents() { Connection connection= JDBCConnectionFactory.getConnection(); try { Statement stmt = connection.createStatement(); String sql = "select * from student"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()) { Student student = new Student() ; student.setId(rs.getInt("id")); student.setName(rs.getString("name")); student.setRegisterdate(rs.getDate("registerdate")); student.setAge(rs.getInt("age")); student.setGender(rs.getString("gender")); student.setClass_id(rs.getInt("class_id")); students.add(student); } rs.close(); stmt.close(); connection.close(); } catch (Exception e) { e.printStackTrace(); } return students; } public static void main(String[] args) { TestFactory tf = new TestFactory(); List<Student> list = tf.getStudents(); Iterator<Student> it = list.iterator(); while(it.hasNext()) { Student s = it.next(); System.out.println(s); } } }
相关文章推荐
- java基础知识2 JDBC
- Java JDBC基础知识学习
- JAVA基础知识之JDBC——JDBC数据库连接池
- Java基础知识强化25:JDBC(Java Data Base Connectivity,java数据库连接)
- JAVA基础知识之JDBC——JDBC事务处理及批量更新
- Java JDBC基础知识
- JDBC(1)JAVA连接数据库之 基础知识学习
- Java基础知识学习总结(二)---使用java读取jdbc.properties
- JAVA基础知识之JDBC——使用ResultSetMetaData分析结果集
- JAVA基础:JDBC基础知识
- 【Java基础知识】JDBC基本操作
- JAVA基础知识之JDBC——离线RowSet
- JAVA基础知识之JDBC——ResultSet的滚动和更新(statement的额外参数)
- 【Java基础知识】JDBC基本操作
- JAVA基础知识之JDBC——RowSet
- java_web学习第九天(JDBC数据库驱动------基础知识)
- java 数据库 一JDBC基础知识
- JAVA基础知识之JDBC——编程步骤及执行SQL
- JAVA基础知识(2)--关键字static的使用
- JAVA基础知识之Set集合