下載連接java
package com.dao;sql
import org.hibernate.Query;
import org.hibernate.Session;apache
import com.bean.Admin;
import com.util.HibernateSessionFactory;session
public class AdminDao {
//查詢一條
public Admin findAdminByName(String name){
Session session=HibernateSessionFactory.getSession();
String sql="from Admin ad where ad.name=\'"+name+"\'";
Query query = session.createQuery(sql);
// query.setString(1, name);
Admin admin = (Admin) query.list().get(0);
HibernateSessionFactory.closeSession();
return admin;
}
}jsp
package com.dao;this
import java.util.ArrayList;
import java.util.List;hibernate
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;xml
import com.bean.Admin;
import com.bean.Book;
import com.util.HibernateSessionFactory;blog
public class BookDao {
//增長一條
public boolean addBook(Book book){
Session session=HibernateSessionFactory.getSession();
Transaction transaction=session.beginTransaction();
session.save(book);
System.out.println("保存成功!!");
transaction.commit();
HibernateSessionFactory.closeSession();
return true;
}
//獲取全部
public List<Book> findBookAll(){
Session session=HibernateSessionFactory.getSession();
Transaction transaction=session.beginTransaction();
String hql="from Book";
Query query=session.createQuery(hql);
List<Book> list =query.list();
transaction.commit();
HibernateSessionFactory.closeSession();
return list;
}
//查詢一條
public Book findBookById(int id){
Session session=HibernateSessionFactory.getSession();
Book book=session.get(Book.class,id);
HibernateSessionFactory.closeSession();
return book;
}
//查詢一條
public Book findBookByName(String name){
Session session=HibernateSessionFactory.getSession();
String sql="from Book where name like \'"+name+"%\'";
Query query = session.createQuery(sql);
// query.setString(1, name);
Book book=new Book();
if (query.list().size()>0) {
book = (Book) query.list().get(0);
}
HibernateSessionFactory.closeSession();
return book;
}
//刪除一條
public boolean deleteBookById(int id){
Session session=HibernateSessionFactory.getSession();
Transaction trans=session.beginTransaction();
Book book=session.get(Book.class,id);
session.delete(book);
trans.commit();
HibernateSessionFactory.closeSession();
return true;
}
//更新
public boolean updateBook(Book book){
Session session=HibernateSessionFactory.getSession();
Transaction trans=session.beginTransaction();
session.update(book);
trans.commit();
HibernateSessionFactory.closeSession();
return true;
}
}ip
package com.action;
import java.util.List;
import com.bean.Book;
import com.dao.BookDao;
import com.opensymphony.xwork2.ActionContext;
public class BookAction {
private Book book;
private int id;
private String name;
//查詢圖書
public void query(){
BookDao bookDao=new BookDao();
Book book1=new Book();
if (!name.isEmpty()) {
book1=bookDao.findBookByName(name);
}
ActionContext.getContext().getSession().put("book", book1);
}
public String addBook(){
System.out.println("進入了addBook方法");
BookDao bookDao=new BookDao();
if(book.getId() == null){
bookDao.addBook(book);
System.out.println("新增書名:"+book.getName());
}else{
bookDao.updateBook(book);
System.out.println("修改書id:"+book.getId());
}
return bookList();
}
public String bookList(){
BookDao bookDao=new BookDao();
List<Book> books=bookDao.findBookAll();
ActionContext.getContext().getSession().put("b", books);
System.out.println("進入了booklist方法");
return "main";
}
public String bookEdit(){
BookDao bookDao=new BookDao();
Book book=bookDao.findBookById(id);
ActionContext.getContext().getSession().put("bo", book);
System.out.println("進入了bookEdit方法,id:"+id);
return "book_edit";
}
//get請求 返回user_add頁面
public String bookAdd(){
if (ActionContext.getContext().getSession().containsKey("bo")) {
ActionContext.getContext().getSession().remove("bo");
}
return "book_add";
}
public String delete(){
BookDao bookDao=new BookDao();
bookDao.deleteBookById(id);
System.out.println("進入了delet方法,id:"+id);
return bookList();
}
public Book getBook() {
return book;
}
public void setBook(Book book) {
this.book = book;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.action;
import com.bean.Admin;
import com.dao.AdminDao;
import com.opensymphony.xwork2.ActionContext;
public class LoginAction {
private Admin admin;
public String login(){
if (!admin.getName().isEmpty()&&!admin.getPassword().isEmpty()) {
AdminDao adminDao=new AdminDao();
Admin user=adminDao.findAdminByName(admin.getName());
if (user.getPassword().equals(admin.getPassword())) {
ActionContext.getContext().getSession().put("flag", "0");
ActionContext.getContext().getSession().put("user", user);
System.out.println("成功登陸!用戶名:"+user.getName());
return "main";
}
}
ActionContext.getContext().getSession().put("flag", "1");
System.out.println("成功失敗!用戶名:"+admin.getName());
return "login";
}
public String loginOut(){
boolean flag=ActionContext.getContext().getSession().containsKey("user");
if (flag) {
ActionContext.getContext().getSession().remove("user");
return "loginOut";
}
System.out.println(flag);
return "loginOut";
}
public String main(){
boolean flag=ActionContext.getContext().getSession().containsKey("user");
if (flag) {
return "main";
}else {
return "login";
}
}
public Admin getAdmin() {
return admin;
}
public void setAdmin(Admin admin) {
this.admin = admin;
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="default" extends="struts-default"> <!--book相關 --> <action name="add_book" class="com.action.BookAction" method="addBook"> <result name="main" type="redirect">/main.jsp</result> </action> <action name="delete_book" class="com.action.BookAction" method="delete"> <result name="book" type="redirect">/book.jsp</result> </action> <action name="edit_book" class="com.action.BookAction" method="bookEdit"> <result name="book_edit" type="redirect">/book_add.jsp</result> </action> <action name="book_add" class="com.action.BookAction" method="bookAdd"> <result name="book_add" type="redirect">/book_add.jsp</result> </action> <!--登陸相關 --> <action name="login" class="com.action.LoginAction" method="login"> <result name="login" type="redirect">/login.jsp</result> <!-- 錯誤可忽略 --> <result name="main" type="redirect">/main.action</result> </action> <action name="loginOut" class="com.action.LoginAction" method="loginOut"> <result name="loginOut" type="redirect">/login.jsp</result> </action> <action name="main" class="com.action.LoginAction" method="main"> <result name="main">/main.jsp</result> <result name="login">/login.jsp</result> </action> </package></struts>