求解,急急急
package 底層數(shù)據(jù)庫搭建;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DB {
private ?static ?final ?String ?url="jdbc:mysql://127.0.0.1:3306/t1";
private ?static ?final ?String ?user="root";
private ?static ?final ?String ?password="1934jy26";
private ?static Connection con=null;
static//首先執(zhí)行靜態(tài)塊
{
try {
//加載驅(qū)動
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Connection getConnection() throws Exception
{
if(con==null)
{
?Connection con=DriverManager.getConnection(url, user, password);
?System.out.println("數(shù)據(jù)庫連接正常");
}
else
{
System.out.println("數(shù)據(jù)庫連接不正常");
}
return con;
}
// public static void main(String []args) throws Exception
// {
// Connection con=DB.getConnection();
// }
}
package 對象層;
import java.sql.Date;
public class Goddess {
private ? int id;
private ? String username;
private ? int sex;
private ? int age;
private ? Date ?bicreate_userrthday;
private ? String ?email;
private ? String ?mobile;
private ? String ?create_user;
private ? String ?update_user;
private ? Date ? ?create_date;
private ? Date ? ?update_date;
private ? int ? ? isdel;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Date getBicreate_userrthday() {
return bicreate_userrthday;
}
public void setBicreate_userrthday(Date bicreate_userrthday) {
this.bicreate_userrthday = bicreate_userrthday;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getCreate_user() {
return create_user;
}
public void setCreate_user(String create_user) {
this.create_user = create_user;
}
public String getUpdate_user() {
return update_user;
}
public void setUpdate_user(String update_user) {
this.update_user = update_user;
}
public Date getCreate_date() {
return create_date;
}
public void setCreate_date(Date create_date) {
this.create_date = create_date;
}
public Date getUpdate_date() {
return update_date;
}
public void setUpdate_date(Date update_date) {
this.update_date = update_date;
}
public int getIsdel() {
return isdel;
}
public void setIsdel(int isdel) {
this.isdel = isdel;
}
}
package 方法層;
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;
import 對象層.Goddess;
import 底層數(shù)據(jù)庫搭建.DB;
public class Goddess_Action {
private ?static Connection con=null;
public void add_Goddess()
{
}
public void update_Goddess()
{
}
public void delete_Goddess()
{
}
public List<Goddess> ?query() throws Exception//獲取所有的對象
{
//連接數(shù)據(jù)庫
?Connection con=DB.getConnection();
? ? ?Statement s=con.createStatement(); ? //此處顯示有問題
? ?//對數(shù)據(jù)庫操作并且獲得對數(shù)據(jù)庫的操作結(jié)果
? ? ?ResultSet ?r=s.executeQuery("select age,user_name ?from ?imooc_goddess");
? ? ?List<Goddess> l1=new ArrayList<Goddess>();
? ? ?Goddess g=null;
? ?//判并且輸出結(jié)果
? ? ?while(r.next())//bollean類型的值,不斷地循環(huán),光標(biāo)最初是在第一行
? ? ?{
? ? ?//實(shí)例化每個Goddess對象,并且把從數(shù)據(jù)庫查詢得到的值加入到其中
? ? ?g=new Goddess();
? ? ?g.setUsername(r.getString("user_name"));
? ? ?g.setAge(r.getInt("age"));
? ? ?l1.add(g);
? ? ?}
? ? ?return l1;
}
public ?Goddess ?getGoddess()//獲取單個的對象
{
return null;
}
}
package 控制層;
import java.util.List;
import 對象層.Goddess;
import 方法層.Goddess_Action;
public class Contral {
public static void main(String[] args) throws Exception ?{
// TODO Auto-generated method stub
? ? ? ? Goddess_Action ?g1=new Goddess_Action();
? ? ? ? List<Goddess> l1=g1.query(); ? ?//此處顯示有問題
}
}
運(yùn)行結(jié)果:
數(shù)據(jù)庫連接正常
Exception in thread "main" java.lang.NullPointerException
at 方法層.Goddess_Action.query(Goddess_Action.java:30)
at 控制層.Contral.main(Contral.java:12)
求解,急急急,謝謝
2016-11-02
DB類中的private ?static Connection con=null;去掉就沒問題了
2016-11-02
DB這個類中重復(fù)定義了con這個變量