@@ -13,12 +13,15 @@ namespace HKLiteDemo
13
13
{
14
14
public partial class Form1 : Form
15
15
{
16
+ // 操作模块
16
17
private IDao < SysUser > daoUser ;
17
18
private IDao < SysRole > daoRole ;
18
19
private IDao < SysUserRole > daoUserRole ;
19
20
20
21
private List < SysUser > listSource = new List < SysUser > ( ) ;
21
22
private List < SysUser > listAllUser = new List < SysUser > ( ) ;
23
+
24
+ // 用户名,用于插入测试
22
25
private List < string > listName = new List < string > { "Tom" , "Jack" , "Lucy" , "Lina" , "Linda" , "Jackson" , "Mike" , "Alice" , "Robin" , "Nancy" } ;
23
26
24
27
public Form1 ( )
@@ -36,6 +39,7 @@ protected override void OnLoad(EventArgs e)
36
39
dataGridView1 . DataSource = bindingSource1 ;
37
40
bindingSource1 . ResetBindings ( true ) ;
38
41
42
+ // 初始化
39
43
DBAccess . Init ( ) ;
40
44
daoUser = DBAccess . DAL . Dao < SysUser > ( ) ;
41
45
daoRole = DBAccess . DAL . Dao < SysRole > ( ) ;
@@ -51,6 +55,7 @@ protected override void OnLoad(EventArgs e)
51
55
}
52
56
53
57
#region BindDatas
58
+ // 刷新数据
54
59
private void BindUser ( bool reQuery )
55
60
{
56
61
if ( reQuery )
@@ -127,6 +132,7 @@ private void btnAdd_Click(object sender, EventArgs e)
127
132
#region Update
128
133
private void btnUpdateByKey_Click ( object sender , EventArgs e )
129
134
{
135
+ // 通过主键更新
130
136
if ( listSource . Count > 0 )
131
137
{
132
138
var entity = listSource [ 0 ] ;
@@ -139,6 +145,7 @@ private void btnUpdateByKey_Click(object sender, EventArgs e)
139
145
140
146
private void btnUpdateByCondition_Click ( object sender , EventArgs e )
141
147
{
148
+ // 通过其他条件更新
142
149
var updateBuilder = daoUser . UpdateBuilder ( ) ;
143
150
updateBuilder . Update ( ) . Set ( "CName" , "Jack'new name" ) . Where ( ) . Equal ( "UserName" , "Jack" ) ;
144
151
updateBuilder . Run ( ) ;
@@ -150,6 +157,7 @@ private void btnUpdateByCondition_Click(object sender, EventArgs e)
150
157
#region Query
151
158
private void btnQueryByKey_Click ( object sender , EventArgs e )
152
159
{
160
+ // 通过主键获取一个实体
153
161
int userID = 1 ;
154
162
if ( listAllUser . Count > 0 )
155
163
userID = listAllUser [ 0 ] . ID ;
@@ -164,6 +172,7 @@ private void btnQueryByKey_Click(object sender, EventArgs e)
164
172
165
173
private void btnQueryByCondition_Click ( object sender , EventArgs e )
166
174
{
175
+ // 通过其他条件查询并排序
167
176
var queryBuilder = daoUser . QueryBuilder ( ) ;
168
177
queryBuilder . Select ( ) . Where ( ) . Equal ( "UserName" , "Jack" ) . OrderByDesc ( "UserName" ) ;
169
178
var listUser = queryBuilder . Query ( ) ;
@@ -173,6 +182,7 @@ private void btnQueryByCondition_Click(object sender, EventArgs e)
173
182
174
183
private void btnQueryTop_Click ( object sender , EventArgs e )
175
184
{
185
+ // 获取前2条记录
176
186
var queryBuilder = daoUser . QueryBuilder ( ) ;
177
187
queryBuilder . Select ( 2 ) . Where ( ) . Like ( "CName" , "J" ) ;
178
188
var listUser = queryBuilder . Query ( ) ;
@@ -182,6 +192,7 @@ private void btnQueryTop_Click(object sender, EventArgs e)
182
192
183
193
private void btnQueryColumns_Click ( object sender , EventArgs e )
184
194
{
195
+ // 查询指定列
185
196
var queryBuilder = daoUser . QueryBuilder ( ) ;
186
197
queryBuilder . Select ( "ID" , "UserName" , "Email" ) . Where ( ) . Like ( "CName" , "J" ) ;
187
198
var listUser = queryBuilder . Query ( ) ;
@@ -191,6 +202,7 @@ private void btnQueryColumns_Click(object sender, EventArgs e)
191
202
192
203
private void btnQueryCustomerCondition_Click ( object sender , EventArgs e )
193
204
{
205
+ // 通过自定义条件查询
194
206
var queryBuilder = daoUser . QueryBuilder ( ) ;
195
207
queryBuilder . Select ( ) . Where ( ) . Custom ( "where UserName <> 'Tom'" ) ;
196
208
var listUser = queryBuilder . Query ( ) ;
@@ -200,10 +212,11 @@ private void btnQueryCustomerCondition_Click(object sender, EventArgs e)
200
212
201
213
private void btnQuerySql_Click ( object sender , EventArgs e )
202
214
{
215
+ // 先创建数据,以便有数据可查
203
216
CreateRoles ( ) ;
204
217
CreateUserRoles ( ) ;
205
218
206
- // 查询所有角色为"administrators"的用户
219
+ // 查询所有角色为"administrators"的用户,该查询中只要返回结果的列名与实体类SysUser属性名匹配,即可将数据放在泛型集合List中
207
220
var queryBuilder = daoUser . QueryBuilder ( ) ;
208
221
queryBuilder . CustomSqlCommand =
209
222
@"select A.* from SysUser A join SysUserRole B on A.ID=B.UserID
@@ -218,6 +231,7 @@ private void btnQuerySql_Click(object sender, EventArgs e)
218
231
#region Delete
219
232
private void btnDeleteByKey_Click ( object sender , EventArgs e )
220
233
{
234
+ // 通过主键删除
221
235
if ( listSource . Count > 0 )
222
236
{
223
237
daoUser . DeleteByKey ( listSource [ 0 ] . ID ) ;
@@ -228,6 +242,7 @@ private void btnDeleteByKey_Click(object sender, EventArgs e)
228
242
229
243
private void btnDelete_Click ( object sender , EventArgs e )
230
244
{
245
+ // 通过其他条件删除
231
246
if ( listSource . Count > 0 )
232
247
{
233
248
var deleteBuilder = daoUser . DeleteBuilder ( ) ;
@@ -240,6 +255,7 @@ private void btnDelete_Click(object sender, EventArgs e)
240
255
241
256
private void btnDeleteAll_Click ( object sender , EventArgs e )
242
257
{
258
+ // 删除所有数据
243
259
daoUser . DeleteAll ( ) ;
244
260
daoRole . DeleteAll ( ) ;
245
261
daoUserRole . DeleteAll ( ) ;
@@ -251,6 +267,7 @@ private void btnDeleteAll_Click(object sender, EventArgs e)
251
267
#region Transtion
252
268
private void btnTrans1_Click ( object sender , EventArgs e )
253
269
{
270
+ // 事务操作1
254
271
var trans = DBAccess . DAL . TransacBuilder ( ) ;
255
272
var insertBuilder = trans . InsertBuilder < SysUser > ( ) ;
256
273
var updateBuilder = trans . UpdateBuilder < SysUser > ( ) ;
@@ -271,6 +288,7 @@ private void btnTrans1_Click(object sender, EventArgs e)
271
288
272
289
private void btnTrans2_Click ( object sender , EventArgs e )
273
290
{
291
+ // 事务操作2
274
292
var trans = DBAccess . DAL . GetTransaction ( ) ;
275
293
try
276
294
{
@@ -289,6 +307,7 @@ private void btnTrans2_Click(object sender, EventArgs e)
289
307
290
308
private void btnTrans3_Click ( object sender , EventArgs e )
291
309
{
310
+ // 事务操作3
292
311
DBAccess . DAL . ExecuteTransac (
293
312
"update SysUser set CName='Jackson''s new name' where UserName='Jackson'" ,
294
313
"update SysUser set CName='Mike''s new name' where UserName='Mike'"
0 commit comments