大神看看怎么有空指针错误!感谢!

来源:2-5 JDBC实战---搭建模型层 Ⅲ

慕仰4084179

2016-09-12 23:46

@GoddessAction.java

package com.imooc.action;


import java.util.Date;

import java.util.List;


import com.imooc.dao.GoddessDao;

import com.imooc.model.Goddess;


public class GoddessAction {

public static void main(String[] args) throws Exception

{

GoddessDao g=new GoddessDao();

List <Goddess> gs = g.query();

for(Goddess goddess:gs)

{

System.out.println(goddess.getUser_name()+","+goddess.getAge());

}

Goddess g1=new Goddess();

g1.setUser_name("娜美");

g1.setSex(1);

g1.setAge(100);

g1.setBirthday(new Date());

g1.setEmail("123456789@qq.com");

g1.setMobile("166645644");

g1.setUpdate_user("admin");

g1.setIsdel(1);

Goddess g2=g.get(5);

System.out.println(g2.toString());

//Goddess g2 = g.get(5);

//System.out.println(g2.toString());

//g1.setId(3);

//g.delGoddess(3);

//g.addGoddess(g1);

//g.updateGoddess(g1);

}

}

@GoddessDao

package com.imooc.dao;


import com.imooc.db.DBUtil;

import com.imooc.model.*;


import java.sql.Connection;


import java.sql.Date;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.List;


//用于执行业务方法

public class GoddessDao {


public void addGoddess(Goddess g) throws Exception {

Connection conn = DBUtil.getConnection();

String sql = "" + "insert into imooc_goddess"

+ "(user_name,sex,age,brithday,email,mobile,"

+ "create_user,create_date,update_user,update_date,isdel)"

+ "values("

+ "?,?,?,?,?,?,?,current_date(),?,current_date(),?)";

PreparedStatement ptmt = conn.prepareStatement(sql);

ptmt.setString(1, g.getUser_name());

ptmt.setInt(2, g.getSex());

ptmt.setInt(3, g.getAge());

ptmt.setDate(4, new Date(g.getBirthday().getTime()));

ptmt.setString(5, g.getEmail());

ptmt.setString(6, g.getMobile());

ptmt.setString(7, g.getCreate_user());

ptmt.setString(8, g.getUpdate_user());

ptmt.setInt(9, g.getIsdel());


ptmt.execute();

}


public void updateGoddess(Goddess g) throws SQLException {

Connection conn = DBUtil.getConnection();

String sql = "" + " update imooc_goddess"

+ " set user_name=?,sex=?,age=?,brithday=?,email=?,mobile=?,"

+ "update_user=?,update_date=current_date(),isdel=?"

+ " where id=?";

PreparedStatement ptmt = conn.prepareStatement(sql);

ptmt.setString(1, g.getUser_name());

ptmt.setInt(2, g.getSex());

ptmt.setInt(3, g.getAge());

ptmt.setDate(4, new Date(g.getBirthday().getTime()));

ptmt.setString(5, g.getEmail());

ptmt.setString(6, g.getMobile());

ptmt.setString(7, g.getUpdate_user());

ptmt.setInt(8, g.getIsdel());

ptmt.setInt(9, g.getId());


ptmt.execute();

}


public void delGoddess(Integer id) throws SQLException {

Connection conn = DBUtil.getConnection();

String sql = "" + 

" delete from imooc_goddess"+

" where id=?";

PreparedStatement ptmt = conn.prepareStatement(sql);

ptmt.setInt(1, id);


ptmt.execute();


}


public List<Goddess> query() throws Exception {

Connection conn = DBUtil.getConnection();

Statement stmt = conn.createStatement();

ResultSet rs = stmt

.executeQuery("select user_name,age from imooc_goddess");

List<Goddess> gs = new ArrayList<Goddess>();

Goddess g = null;


while (rs.next()) {

g = new Goddess();

g.setUser_name(rs.getString("user_name"));

g.setAge(rs.getInt("age"));

gs.add(g);

}

return gs;

}


public Goddess get(Integer id) throws SQLException {

Goddess g=null;

Connection conn = DBUtil.getConnection();

String sql = "" + " select * from imooc_goddess"

+ " where id=?";

PreparedStatement ptmt = conn.prepareStatement(sql);

ptmt.setInt(1, id);


ResultSet rs = ptmt.getResultSet();

while(rs.next())

{

g=new Goddess();

g.setUser_name(rs.getString("user_name"));

g.setSex(rs.getInt("sex"));

g.setAge(rs.getInt("age"));

g.setId(rs.getInt("id"));

g.setBirthday(rs.getDate("brithday"));

g.setEmail(rs.getNString("email"));

g.setMobile(rs.getString("mobile"));

g.setCreate_user(rs.getString("create_user"));

g.setUpdate_user(rs.getNString("create_user"));

g.setCreate_date(rs.getDate("create_date"));

g.setUpdate_date(rs.getDate("update_date"));

g.setIsdel(rs.getInt("isdel"));

}

return g;

}


}


Exception in thread "main" java.lang.NullPointerException

at com.imooc.dao.GoddessDao.get(GoddessDao.java:100)

at com.imooc.action.GoddessAction.main(GoddessAction.java:28)


写回答 关注

2回答

  • qq_张浩_7
    2016-09-15 17:06:20
    已采纳

    get()方法少了 ResultSet rs = ps.executeQuery();

    慕仰4084...

    非常感谢!

    2016-09-17 14:19:30

    共 1 条回复 >

  • 斌斌Running
    2016-09-13 19:48:48

    看不出来,自己debug调试吧

JDBC之 “ 对岸的女孩看过来”

一起领略JDBC的奥秘,为进一步学习集成框架打下良好的基础

99327 学习 · 911 问题

查看课程

相似问题