Class
Text.User
Extends
%Persistent
{
// 用户编号
Property userid As %String ;
// 用户名
Property name As %String ;
//性别
Property gender As %String ;
Index useridIndex On userid [ Unique ];
// 方式一
ClassMethod queryUser( UserId As %String )
i ' $IsObject ( user ) {
w "Specified object cannot be found"
} else {
w "object property:" _ user . name
}
}
// 方式二
ClassMethod queryUser2( UserId As %String )
i ' $IsObject ( user ) {
w "Specified object cannot be found"
} else {
w "object property:" _ user . name
}
}
// 方式三
ClassMethod queryUser3( UserId As %String )
{
s name = $lg (^Text.myopenidtextD( rowid ),3)
;b
i name = "" && name = $c (0) {
w "Specified object cannot be found"
} else {
w "object property:" _ name
}
}
// d ##class(Text.myopenidtext).queryUser()
ClassMethod addUser()
{
s o = ##class ( Text.myopenidtext ). %New ()
s o . userid =1
s o . name = "miss"
s o . gender = "man"
s start = o . %Save ()
i start =1
{
w "good"
} else {
w "error"
}
}
<Storage name=" Default ">
<Data name=" myopenidtextDefaultData ">
<Value name=" 1 ">
<Value>%%CLASSNAME</Value>
</Value>
<Value name=" 2 ">
<Value>userid</Value>
</Value>
<Value name=" 3 ">
<Value>name</Value>
</Value>
<Value name=" 4 ">
<Value>gender</Value>
</Value>
</Data>
<DataLocation>^Text.myopenidtextD</DataLocation>
<DefaultData>myopenidtextDefaultData</DefaultData>
<ExtentSize>100000</ExtentSize>
<IdLocation>^Text.myopenidtextD</IdLocation>
<IndexLocation>^Text.myopenidtextI</IndexLocation>
<StreamLocation>^Text.myopenidtextS</StreamLocation>
<Type>%Library.CacheStorage</Type>
</Storage>
}
{
// 用户编号
Property userid As %String ;
// 用户名
Property name As %String ;
//性别
Property gender As %String ;
Index useridIndex On userid [ Unique ];
// 方式一
ClassMethod queryUser( UserId As %String )
{
//根据系统的%OpenId()获取到对象然后取到对应的值
//优点在知晓Id的时候,很方便效率速度也不错,缺点没加入索引无法更高效率操作数据
i ' $IsObject ( user ) {
w "Specified object cannot be found"
} else {
w "object property:" _ user . name
}
}
// 方式二
ClassMethod queryUser2( UserId As %String )
{
//根据索引打开对象
//优点加入了索引操作,推荐
i ' $IsObject ( user ) {
w "Specified object cannot be found"
} else {
w "object property:" _ user . name
}
}
// 方式三
ClassMethod queryUser3( UserId As %String )
{
s rowid=""
//根据索引的gobel得到编号获取数据
//缺点修改属性后编号容易发生编号造成错误,优点在一些与数据库对接上很方便
s name = $lg (^Text.myopenidtextD( rowid ),3)
;b
i name = "" && name = $c (0) {
w "Specified object cannot be found"
} else {
w "object property:" _ name
}
}
// d ##class(Text.myopenidtext).queryUser()
ClassMethod addUser()
{
s o = ##class ( Text.myopenidtext ). %New ()
s o . userid =1
s o . name = "miss"
s o . gender = "man"
s start = o . %Save ()
i start =1
{
w "good"
} else {
w "error"
}
}
<Storage name=" Default ">
<Data name=" myopenidtextDefaultData ">
<Value name=" 1 ">
<Value>%%CLASSNAME</Value>
</Value>
<Value name=" 2 ">
<Value>userid</Value>
</Value>
<Value name=" 3 ">
<Value>name</Value>
</Value>
<Value name=" 4 ">
<Value>gender</Value>
</Value>
</Data>
<DataLocation>^Text.myopenidtextD</DataLocation>
<DefaultData>myopenidtextDefaultData</DefaultData>
<ExtentSize>100000</ExtentSize>
<IdLocation>^Text.myopenidtextD</IdLocation>
<IndexLocation>^Text.myopenidtextI</IndexLocation>
<StreamLocation>^Text.myopenidtextS</StreamLocation>
<Type>%Library.CacheStorage</Type>
</Storage>
}