com.tao.pojo实体类 package com.tao.pojo; public class User { private int id; private String name; private String password; public User() { super(); } public User(int id, String name, String password) { super(); this.id = id; this.name = name; this.password = password; } 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; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "User [id=" + id + ", name=" + name + ", password=" + password + "]"; } } User.hbm.xml映射文件 <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="org.hibernate.test.schemaupdate"> <class name="com.tao.pojo.User" table="user"> <id name="id"> <generator class="identity"></generator> </id> <property name="name"/> <property name="password" column="pass"/> </class> </hibernate-mapping> 配置文件hibernate.cfg.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.password">root</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test0102?characterEncoding=utf-8</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="show_sql">true</property> <property name="format_sql">true</property> <!-- 因为加载的时候只加载配置文件,没有加载映射文件,让它去找 --> <mapping resource="com/tao/pojo/User.hbm.xml"/> </session-factory> </hibernate-configuration> DAO方法 com.tao.dao package com.tao.dao; import java.util.List; public interface BaseDAO<T> { // 通用的功能 public List<T> findAll(); public T findById(int id); public void deleteById(int id); public boolean update(T t); public boolean save(T t); } package com.tao.dao; import com.tao.pojo.User; public interface UserDAO extends BaseDAO<User> { public User login(String name,String password); } 实现类 com.tao.dao.Impl package com.tao.dao.Impl; import java.io.Serializable; import java.util.List; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.hibernate.query.Query; import com.tao.dao.UserDAO; import com.tao.pojo.User; public class UserDAOImpl implements UserDAO{ @Override public List<User> findAll() { // TODO Auto-generated method stub Configuration configure = new Configuration().configure(); SessionFactory factory = configure.buildSessionFactory(); Session session = factory.openSession(); session.beginTransaction(); Query<User> query = session.createQuery("from User", User.class); List<User> list = query.list(); session.getTransaction().commit(); session.close(); factory.close(); return list; } @Override public User findById(int id) { // TODO Auto-generated method stub Configuration configure = new Configuration().configure(); SessionFactory factory = configure.buildSessionFactory(); Session session = factory.openSession(); session.beginTransaction(); Query<User> query = session.createQuery("from User where id=?", User.class); query.setParameter(0, id); User user = query.uniqueResult(); session.getTransaction().commit(); session.close(); factory.close(); return user; } @Override public void deleteById(int id) { // TODO Auto-generated method stub Configuration configure = new Configuration().configure(); SessionFactory factory = configure.buildSessionFactory(); Session session = factory.openSession(); session.beginTransaction(); //方法1 // User user = session.get(User.class, id); // session.delete(user); //放法2 // User user = new User(); // user.setId(id); // session.delete(user); //方法3 Query query = session.createQuery("delete from User where id=?"); query.setParameter(0, id); int rows = query.executeUpdate(); System.out.println(rows+"=============rows"); session.getTransaction().commit(); session.close(); factory.close(); } @Override public boolean update(User t) { // TODO Auto-generated method stub Configuration configure = new Configuration().configure(); SessionFactory factory = configure.buildSessionFactory(); Session session = factory.openSession(); session.beginTransaction(); //update()只根据Id更新 // session.update(t); //HQL语句(User是类名,name,password是类里面的属性名) Query query = session.createQuery("update User set name=?,password=? where id=?"); query.setParameter(0, t.getName()); query.setParameter(1, t.getPassword()); query.setParameter(2, t.getId()); int rows = query.executeUpdate(); session.getTransaction().commit(); session.close(); factory.close(); if(rows>0) { return true; } return false; } @Override public boolean save(User t) { // TODO Auto-generated method stub Configuration configure = new Configuration().configure(); SessionFactory factory = configure.buildSessionFactory(); Session session = factory.openSession(); session.beginTransaction(); Integer id = (Integer) session.save(t); session.getTransaction().commit(); session.close(); factory.close(); if(id>0) { return true; } return false; } @Override public User login(String name, String password) { // TODO Auto-generated method stub Configuration configure = new Configuration().configure(); SessionFactory factory = configure.buildSessionFactory(); Session session = factory.openSession(); session.beginTransaction(); Query<User> query = session.createQuery("from User where name=? and password=?",User.class); query.setParameter(0, name).setParameter(1, password); User user = query.uniqueResult(); session.getTransaction().commit(); session.close(); factory.close(); return user; } } JUnit测试 package com.tao.test; import static org.junit.Assert.*; import java.util.List; import org.junit.Test; import com.tao.dao.Impl.UserDAOImpl; import com.tao.pojo.User; public class JUnit_User { UserDAOImpl impl = new UserDAOImpl(); @Test public void testAll() { List<User> list = impl.findAll(); for (User uu : list) { System.out.println(uu); } } @Test public void testById() { User user = impl.findById(2); System.out.println(user); } @Test public void testdeleteById() { System.out.println("delete++++++++++++++++++"); impl.deleteById(10); } @Test public void save() { User user = new User(12, "ss", "ss"); boolean b = impl.save(user); System.out.println(b); } @Test public void update() { User user = new User(2, "ss", "222"); impl.update(user); } //登录 @Test public void login() { User user = impl.login("ss", "222"); System.out.println(user); } }