SSH中formula的使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zzzffhh/article/details/79953506

看了很多帖子 都没有详细的方法,自己整理了一份,供后来人参考以便学习交流;

介绍:

formula 可以利用SQL语动态的生成java属性(实体要存在相应的属性)

规则是在from后边必须是表名,当有where条件时必须有别名,以便调用

具体使用:

User:

publicclass User {

privateint id;

privateString uname;

privateString password;

privateint rid;

private String rname;//数据库里没有这个字段

User.hbm.xml:

 <hibernate-mappingpackage="com.fish.pojo">

    <class name="User">

    <id name="id"></id>

    <propertyname="uname"></property>

    <propertyname="password"></property>

    <propertyname="rid"></property>

    <property name="rname"formula="(select r.rname from role r where r.roleid =rid)"></property>

    </class>

    </hibernate-mapping>

数据库表


Role:

publicclass Role {

//角色id

privateint roleid;

//角色名称

privateString rname;

Role.hbm.xml:

<hibernate-mappingpackage="com.fish.pojo">

<classname="Role">

<idname="roleid"></id>

<propertyname="rname"></property>

</class>

</hibernate-mapping>

数据库表:

前台是用ajax写的:

<scripttype="text/javascript"src="js/jquery.js"></script>

<scripttype="text/javascript">

$(function(){

$.ajax({

 

type: "POST",

url:"${PageContext.request.contextpath}userAction_userLoginById.action",

data: {"id" : 1},

success: function(data) {

alert(data.rname);//可以得到角色名称

},

error:function(e){

console.log(e);

},

dataType:"json"

});

});

</script>

前台效果:


阅读更多 登录后自动展开
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页