首页 > 代码库 > hibernate入门级
hibernate入门级
hibernate是数据层的架构,想必大家很熟了吧,话不多说,直接贴代码。
首先是hibernate.cfg.xml的配置,实际上这里就是数据库的配置:
<!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="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://127.0.0.1:3306/test</property> <property name="connection.username">root</property> <property name="connection.password">123456</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="show_sql">true</property> <property name="hbm2ddl.auto">update</property> <mapping resource="com/hibernate/entity/User.hbm.xml"/> </session-factory> </hibernate-configuration>
下面是User.hbm.xml,实际上这里是匹配数据库的字段,为了持久层去操作的。
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.hibernate.entity"><!-- package为class所在的包 --> <class name="User" table="user"> <id name="id" type="int"><!-- 这相当于@column,匹配数据库中的字段,进行daoimpl的操作 --> <generator class="native" /> </id> <property name="name" type="java.lang.String"> <column name="name" /> </property> <property name="password" type="java.lang.String"> <column name="password" /> </property> </class> </hibernate-mapping>
下面就是java代码了。
第一是LoginController:
/* * 这个类测试用 * * */ public class LoginController { public static void main(String[] args){ User user=new User(); user.setName("123"); user.setPassword("123"); LoginDao loginDao=new LoginDaoImpl(); User user2=loginDao.login(user);//调用登录方法 //打印取出的ID if(user2!=null){ System.out.println("id:"+user2.getId()); } } }
接下来是:LoginDao;我省略了业务层,因为事务的操作在dao层就已经处理了,没必要再抛到业务层处理了。
这种方式不好哦,这个测试比较简单才这么做。
public interface LoginDao { public User login(User user); }
在下面就是daoImpl,这里不是必须的,如果大家用了jpa,这个就不需要了。
public class LoginDaoImpl implements LoginDao{ private Session session; private static HibernateUtil hibernateUtil; //静态加载session工厂生产session类 static{ hibernateUtil=new HibernateUtil(); } public User login(User user) { User user2=new User(); session=hibernateUtil.getSession();//获得由session工厂生产的session Query query=session.createQuery("select u from User u"); List<User> list=query.list(); user2.setId(list.get(0).getId()); return user2; } }
最后是实体类了哦
public class User { private int id; private String name; private String 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; } }
这些东西仅供参考,感觉数据层的处理还是挺好用的,但单独用的话配置太繁琐,结合spring会好用很多。
hibernate入门级
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。