hibernate

言语翻译

图片 1

跻身后台可以看到圈出来那一个单词,我们的语言已经安装为简体中文,但有些地点尚未普通话出现,可能小编还没来得及更新语言文件,只得大家协调去完善了。

这边自己以“[Appearance]”为例,别的翻译以此类推即可。

开拓AbpZeroTemplate.xml语言文件,搜索:“Appearance”

文本路径:D:\abp
version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Core\Localization\AbpZeroTemplate\AbpZeroTemplate.xml

<text name="Appearance">Appearance</text>

 

看对应的情节是何许意思,英文好的可以翻译得更好,我只得借助翻译工具,这里自己翻译出来是“外观”的趣味。

 

然后打开AbpZeroTemplate-zh-CN.xml语言文件,同样招来:“Appearance”,假诺没有找到,就在文书末尾添加那么些键值对。

文本路径:D:\abp
version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Core\Localization\AbpZeroTemplate\AbpZeroTemplate-zh-CN.xml

<text name="Appearance">外观</text>

 

 

说到底,保存生成项目,浏览器访问,可以见见”[Appearance]“已经变为”外观“,此外翻译重复此步骤即可。

 

再次回到总目录

 

设计Hibernate配置文件hibernate.cfg.xml

管理—设置

图片 2

 

图片 3

 

先布置好那2项设置,邮箱配置是为着表明注册时效果是还是不是正规,下一篇作品须求用到。

注:邮箱配置中的密码并不是QQ密码,而是在QQ邮箱中生成的授权码,具体获取请登录QQ邮箱查看

 

设计控制类
图片 4package hibernate.servlet;
图片 5/**
图片 6 * @author fengyan
图片 7 * date  2007-01-09 02:44
图片 8 * 设计Hibernate控制类
图片 9 */
图片 10import hibernate.HibernateUtil;
图片 11import hibernate.PO.TRegister;
图片 12
图片 13import java.io.IOException;
图片 14import java.io.PrintWriter;
图片 15
图片 16import javax.servlet.ServletException;
图片 17import javax.servlet.http.HttpServlet;
图片 18import javax.servlet.http.HttpServletRequest;
图片 19import javax.servlet.http.HttpServletResponse;
图片 20
图片 21import org.hibernate.HibernateException;
图片 22import org.hibernate.Session;
图片 23import org.hibernate.Transaction;
图片 24
图片 25public class RegisterServlet extends HttpServlet {
图片 26
图片 27    private static final String CONTENT_TYPE = “text/html;charset=GBK”;
图片 28    public void init() throws ServletException {
图片 29        // Put your code here
图片 30    }
图片 31    public void destroy() {
图片 32        super.destroy(); // Just puts “destroy” string in log
图片 33        // Put your code here
图片 34    }
图片 35
图片 36    
图片 37    public void doGet(HttpServletRequest request, HttpServletResponse response)
图片 38            throws ServletException, IOException {
图片 39
图片 40        response.setContentType(CONTENT_TYPE);
图片 41        request.setCharacterEncoding(“GBK”);
图片 42        
图片 43        PrintWriter out = response.getWriter();
图片 44        
图片 45        String userName = request.getParameter(“userName”);
图片 46        String userPwd = request.getParameter(“userPwd”);
图片 47        String sex = request.getParameter(“sex”);
图片 48        int age = Integer.parseInt(request.getParameter(“age”));
图片 49        
图片 50        TRegister rg = new TRegister();
图片 51        rg.setAge(age);
图片 52        rg.setSex(sex);
图片 53        rg.setUserName(userName);
图片 54        rg.setUserPwd(userPwd);
图片 55        
图片 56        Session session = HibernateUtil.currentSession();//生成Session实例
图片 57        Transaction tx = session.beginTransaction();
图片 58        
图片 59        try
图片 60        {
图片 61            session.save(rg);    //保存持久类对象
图片 62            tx.commit();        //提交到数据库
图片 63            session.close();
图片 64            response.sendRedirect(“registerOK.jsp”);
图片 65        }
图片 66        catch(HibernateException e)
图片 67        {
图片 68            e.printStackTrace();
图片 69            tx.rollback();
图片 70        }
图片 71        
图片 72    }
图片 73
图片 74    public void doPost(HttpServletRequest request, HttpServletResponse response)
图片 75            throws ServletException, IOException {
图片 76        doGet(request,response);
图片 77        
图片 78    }
图片 79
图片 80
图片 81
图片 82}

  接着上篇文章,现在去修改注册登录逻辑代码还为时过早,大家还亟需到后台去设置有些配置。

/**
图片 83 * hibernate 基础类
图片 84 * @author fengyan
图片 85 * date 2007-01-09 02:32
图片 86 */
图片 87import org.hibernate.HibernateException;
图片 88import org.hibernate.Session;
图片 89import org.hibernate.SessionFactory;
图片 90import org.hibernate.cfg.Configuration;
图片 91
图片 92public class HibernateUtil {
图片 93    
图片 94    private static final SessionFactory sessionFactory;
图片 95    
图片 96    static
图片 97    {
图片 98        try
图片 99        {
图片 100            Configuration config = new Configuration().configure(“/hibernate/hibernate.cfg.xml”);
图片 101            sessionFactory = config.buildSessionFactory();
图片 102        }
图片 103        catch(Throwable e)
图片 104        {
图片 105            throw new ExceptionInInitializerError(e);
图片 106        }
图片 107    }
图片 108    
图片 109    public static final ThreadLocal session = new ThreadLocal();
图片 110    
图片 111    public static Session currentSession() throws HibernateException
图片 112    {
图片 113        Session s = (Session)session.get();
图片 114        //Open a new Session,if this Thread has none yet
图片 115        if(s == null || !s.isOpen())
图片 116        {
图片 117            s = sessionFactory.openSession();
图片 118            session.set(s);
图片 119        }
图片 120        return s;
图片 121    }
图片 122    
图片 123    public static void closeSession() throws HibernateException
图片 124    {
图片 125        Session s = (Session)session.get();
图片 126        session.set(null);
图片 127        if(s != null)
图片 128            s.close();
图片 129    }
图片 130
图片 131}
图片 132

Hibernate的运作进度如下图:
图片 133

table T_register
图片 134(
图片 135    id    int primary key,
图片 136    userName varchar(30),
图片 137    userPwd varchar(30),
图片 138    sex varchar(10),
图片 139    age int
图片 140)

<%=java contentType””=GBK%>
图片 141<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd"&gt;
图片 142<html>
图片 143<head>
图片 144<meta http-equiv=”Content-Type” content=”text/html; charset=GBK”>
图片 145<title>Insert title here</title>
图片 146</head>
图片 147<body>
图片 148
图片 149<form action=”servlet/RegisterServlet” method=”POST”>
图片 150    用户名:<input type=”text” name=”userName” /><BR>
图片 151    密  码:<input type=”text” name=”userPwd” /><BR>
图片 152    性  别:<input type=”text” name=”sex” /><BR>
图片 153    年  龄:<input type=”text” name=”age” /><BR>
图片 154    <input type=”submit” value=”save” />
图片 155</form>
图片 156</body>
图片 157</html>

hibernate.cfg.xml

设计映射文件TRegister.hbm.xml

持久化类

视图层:注册页面register.jsp

Hibernate的运转进程 Hibernate的运行进度如下:
A:应用程序先调用Configration类,该类读取Hibernate的布署文件及映射文件中的新闻,并用那几个信息生成一个SessionFactpry对象。
B:然后从SessionFactory对象生成一个Session对象,并用Session对象生成Transaction对象;可由此Session对象的get(),load(),save(),update(),delete()和saveOrUpdate()等艺术对PO举行加载,保存,更新,删除等操作;在查询的处境下,可由此Session对象生成一个Query对象,然后采取Query对象实施查询操作;若是没有分外,Transaction对象将
提交那些操作结果到数据库中。

Hibernate的着力组件
在依照MVC设计方式的JAVA
WEB应用中,Hibernate可以作为模型层/数据访问层。它经过配备文件(hibernate.properties或hibernate.cfg.xml)和照耀文件(***.hbm.xml)把JAVA对象或PO(Persistent
Object,持久化对象)映射到数据库中的数据库,然后通过操作PO,对数码表中的多少开展增,删,改,查等操作。
除配备文件,映射文件和持久化类外,Hibernate的为主零部件包涵以下几有些:
a)Configuration类:用来读取Hibernate配置文件,并生成SessionFactory对象。
b)SessionFactory接口:发生Session实例工厂。
c)Session接口:用来操作PO。它有get(),load(),save(),update()和delete()等措施用来对PO进行加载,保存,更新及删除等操作。它是Hibernate的大旨接口。
d)Query接口:用来对PO举行查询操。它可以从Session的createQuery()方法生成。
e)Transaction接口:用来治本Hibernate事务,它最主要方法有commit()和rollback(),可以从Session的beginTrancation()方法生成。

设计hibernate基础类HibernateUtil.java

Hibernate简单示例:
数据:

Persistent Object
持久化对象足以是一般的Javabeans,惟一特殊的是它们与(仅一个)Session相关联。JavaBeans在Hibernate中存在三种意况:
1.暂时气象(transient):当一个JavaBean对象在内存中孤立存在,不与数据库中的数据有其它涉及关系时,那么那一个JavaBeans对象就叫做临时对象(Transient
Object)。
2.持久化状态(persistent):当一个JavaBean对象与一个Session相关联时,就成为持久化对象(Persistent
Object)
3.脱管状态(detached):在那几个Session被关门的还要,这几个目的也会脱离持久化状态,就改成脱管状态(Detached
Object),可以被应用程序的任何层自由使用,例如可以做与表示层打交道的数据舆对象(Data
Transfer Object)。

设计持久化类TRegister.java

TRegister.hbm.xml