JDK1.6中带的是 jdbc4.0版本的。据说有些新特性。先用用看:
一,建数据库 babyStore
二,建表:
表名: Baby
列名 | 类型 | 描述 |
id | integer | 主键,自增长 |
name | varchar(200) | |
sex | varchar(10) | |
birthday | Date | |
hobby | varchar(200) |
三,建工程:
1,创建一个quickStart 基本工程:mvn archetype:generate
2,导入到eclipse : mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true
3,打开eclipse 编辑pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.yajun</groupId>
<artifactId>jdbcDemo</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>jdbcDemo</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
4,重新执行:
eclipse : mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true
并刷新eclipse
建工程OK
四,边界Baby类:
package com.yajun.dataobject;
import java.util.Date;
/**
* 宝宝对象
*
* @author yajun
*
*/
public class Baby {
private int id;
private String name;
private String sex;
private Date birthday;
private String hobby;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Override
public String toString() {
return "name :" + name + "\t" + "sex:" + sex + "\t" + "birthday:"
+ birthday + "\t" + "hobby:" + hobby;
}
}
五,编写主函数测试类:
package com.yajun;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import com.yajun.dataobject.Baby;
/**
* Hello world!
*
*/
public class JdbcDemo {
private static Connection con = null;
static {
String url = "jdbc:mysql://localhost:3306/babyStore";
String user = "root";
String passwd = "hello";
try {
con = DriverManager.getConnection(url, user, passwd);
} catch (SQLException e) {
throw new RuntimeException("数据库连接异常");
}
}
public static void main(String[] args) throws SQLException {
/**
* JDK 1.6以上不需要些自己forName加载驱动
*/
// try {
// Class.forName("com.mysql.jdbc.Driver");
// } catch (ClassNotFoundException e) {
// }
JdbcDemo demo = new JdbcDemo();
Baby myBaby = new Baby();
myBaby.setName("吴亚军");
myBaby.setSex("f");
myBaby.setBirthday(Calendar.getInstance().getTime());
myBaby.setHobby("hao se");
demo.insertBaby(myBaby);
List<Baby> list = demo.getAllBaby();
for (Baby baby : list) {
System.out.println(baby);
}
}
/**
* 把所有的宝宝找出来
*
* @return
* @throws SQLException
*/
private List<Baby> getAllBaby() throws SQLException {
String query = "select * from Baby";
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
List<Baby> babyList = new ArrayList<Baby>();
while (rs.next()) {
Baby baby = new Baby();
baby.setId(rs.getInt(1));
baby.setName(rs.getString(2));
baby.setSex(rs.getString(3));
baby.setBirthday(rs.getDate(4));
baby.setHobby(rs.getString(4));
babyList.add(baby);
}
return babyList;
}
/**
* 诞生一个宝宝
*
* @param baby
* @return
* @throws SQLException
*/
private int insertBaby(Baby baby) throws SQLException {
PreparedStatement updateSales = con
.prepareStatement("insert into Baby(name,sex,birthday,hobby) values(?,?,?,?)");
updateSales.setString(1, baby.getName());
updateSales.setString(2, baby.getSex());
updateSales.setDate(3, new java.sql.Date(baby.getBirthday().getTime()));
updateSales.setString(4, baby.getHobby());
updateSales.executeUpdate();
return 0;
}
}