java dao实现_java DAO实现

DAO及servlet控制页面跳转

1.建立数据库及表(使用mysql数据库)

create database bookdb;

create table `bookdb`.`book`(

bookId int,

bookName varchar(40),

bookWriter varchar(40)

);

2.建立BOOK对象

建立新的web project BookStore

建立新的com.mike.vo包,在此包下建立值对象。

package com.mike.vo;

public class Book {

private Integer bookID;

private String bookName;

private String bookWriter;

}

3数据库连接工具类

建立新的com.mike.util包,在此包下建立连接工具。

package com.mike.util;

import java.io.IOException;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.util.Properties;

public class ConnectionUtil {

public Connection getConnection() throws ClassNotFoundException, Exception

{

String username="root";

String password="";

String url="jdbc:mysql://localhost:3306/bookdb";

String driver="com.mysql.jdbc.Driver";

try {

Class.forName(driver);

return DriverManager.getConnection(url,username,password);

} catch (SQLException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

return null;

}

}

4.DAO访问接口

建立com.mike.dao,在这个包下建立DAO接口

package com.mike.dao;

import java.util.List;

import com.mike.vo.Book;

public interface BookDAO {

public List listBook();

public void save(Book book);

}

5实现DAO

建立com.mike.daoImpl包,实现BookDao

package com.mike.daoImpl;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

import com.mike.dao.BookDAO;

import com.mike.util.ConnectionUtil;

import com.mike.vo.Book;

public class BookDaoImpl implements BookDAO {

public List listBook() {

// TODO Auto-generated method stub

ConnectionUtil conU = new ConnectionUtil();

Connection con = null;

List list = new ArrayList();

try {

con = conU.getConnection();

String QuerySQL = "select * from book";

PreparedStatement ps = con.prepareStatement(QuerySQL);

ResultSet rs = ps.executeQuery();

while (rs.next()) {

Book book = new Book();

book.setBookID(rs.getInt(1));

book.setBookName(rs.getString(2));

book.setBookWriter(rs.getString(3));

list.add(book);

}

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally {

try {

con.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

return list;

}

public Boolean save(Book book) {

// TODO Auto-generated method stub

ConnectionUtil conU = new ConnectionUtil();

Connection con = null;

Boolean flag = false;

try {

con = conU.getConnection();

String InsertSQL = "insert book values(" + book.getBookID() + ",'"

+ book.getBookName() + "','" + book.getBookWriter() + "')";

PreparedStatement ps = con.prepareStatement(InsertSQL);

flag = ps.execute();

return flag;

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

con.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

return flag;

}

}

6servlet控制层 获得用户请求,将表保存在数据库中,实现页面跳转;

package com.mike.controlServlet;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.mike.daoImpl.BookDaoImpl;

import com.mike.vo.Book;

public class BookServlet extends HttpServlet {

public BookServlet() {

super();

}

public void destroy() {

super.destroy();

}

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String bookName = request.getParameter("bookName");

String bookWriter = request.getParameter("bookWriter");

BookDaoImpl bookDao = new BookDaoImpl();

Book book = new Book();

Integer bookID = 13574;// only for easy

book.setBookID(bookID);

book.setBookName(bookName);

book.setBookWriter(bookWriter);

bookDao.save(book);

request.getRequestDispatcher("/Book.jsp").forward(request, response);

}

}

7用户输入数据页面,这里是Book.jsp,为将代码全部写出,只有form表单。

            
                        BookName:                                                                   
                        BookWriter:                                                                   
                                             
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值