sách gpt4 ăn đã đi

So sánh ưu điểm trong thực tế phát triển Fluent Mybatis

In lại Tác giả: qq735679552 Thời gian cập nhật: 27-09-2022 22:32:09 32 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài blog CFSDN này so sánh những ưu điểm của Fluent Mybatis trong thực tế phát triển, được tác giả sưu tầm và biên soạn. Nếu các bạn quan tâm đến bài viết này thì nhớ like nhé.

Bài viết trước đã giới thiệu framework cơ bản của Fluent, trong đó một số phương thức quan trọng sử dụng các đối tượng IQuery và IUpdate. Hai đối tượng này là các lớp xây dựng của FluentMybatis để triển khai SQL phức tạp và động. Thông qua hai đối tượng này, FluentMybatis có thể xây dựng các câu lệnh SQL kinh doanh phức tạp hơn trực tiếp thông qua API Java mà không cần ghi các tệp XML cụ thể, để đạt được logic mã và SQL. đoàn kết. Tiếp theo, chúng tôi sẽ giới thiệu cách xác định các câu lệnh SQL động mạnh mẽ thông qua IQuery và IUpdate.

Cấu trúc bảng Giả sử có một bảng điểm học sinh có cấu trúc như sau:

?
1
2
3
4
5
6
7
8
9
10
11
12
tạo nên bàn `điểm_sinh_viên`
(
     nhận dạng           bigint bình luận auto_increment 'ID khóa chính' sơ đẳng chìa khóa ,
     Mã sinh viên   bigint            không vô giá trị bình luận 'Mã số sinh viên' ,
     giới tính_man nhỏ xíu mặc định 0 không vô giá trị bình luận 'Giới tính, 0:Nữ; 1:Nam' ,
     học kỳ  số nguyên               vô giá trị bình luận 'học kỳ' ,
     chủ thể      varchar (30)       vô giá trị bình luận 'kỷ luật' ,
     điểm        số nguyên               vô giá trị bình luận 'điểm' ,
     gmt_create ngày giờ          không vô giá trị bình luận 'Kỷ lục thời gian tạo' ,
     gmt_modified ngày giờ          không vô giá trị bình luận 'Ghi lại thời gian sửa đổi lần cuối' ,
     is_deleted nhỏ mặc định 0 không vô giá trị bình luận 'ID bia mộ'
) công cụ = InnoDB mặc định bộ ký tự=utf8;

Thống kê từ năm 2000 đến năm 2019, điểm của ba môn học ('Tiếng Anh', 'Toán', 'Tiếng Trung') được tính theo học kỳ và thống kê các môn học gồm điểm thấp nhất, điểm cao nhất và điểm trung bình. sắp xếp theo học kỳ và môn học SQL:

?
1
2
3
4
5
6
7
lựa chọn học_kỳ, môn học, đếm (điểm), phút (điểm), tối đa (điểm), trung bình (điểm)
từ điểm_sinh_viên
Ở đâu học kỳ giữa 2000 2019
   chủ thể TRONG ( 'Tiếng Anh' , 'toán học' , 'Trung Quốc' )
   đã xóa = 0
nhóm qua học_kỳ, môn học
đặt hàng qua học_kỳ, môn học
  1. Được triển khai cụ thể thông qua FluentMybatis
  2. Xác định giao diện trên lớp Sinh viênScoreDao
?
1
2
3
4
5
6
7
8
9
@Dữ liệu
công cộng lớp học Điểm số thống kê {
     riêng tư số nguyên học kỳ;
     riêng tư Chủ ngữ chuỗi;
     riêng tư dài đếm;
     riêng tư Số nguyên minScore;
     riêng tư Số nguyên maxScore;
     riêng tư Điểm trung bình BigDecimal;
}
?
1
2
3
4
5
6
7
8
9
10
11
công cộng giao diện Điểm Sinh Viên mở rộng IBaseDao {
     /**
      * Thống kê các môn học từ đầu năm đến cuối năm.
      *
      * @param fromYear Ngày bắt đầu của phạm vi năm thống kê
      * @param endYear Thời điểm cuối năm thống kê
      * Danh sách đối tượng @param của đối tượng thống kê
      * Thống kê @return
      */
     Liệt kê thống kê( số nguyên từNăm, số nguyên endYear, String[] chủ đề);
}

Triển khai logic nghiệp vụ trên Sinh viênScoreDaoImpl.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@Kho lưu trữ
công cộng lớp học StudentScoreDaoImpl mở rộng StudentScoreBaseDao thực hiện Điểm Sinh ViênDao {
     @Ghi đè
     công cộng Liệt kê thống kê( số nguyên từTrường học, số nguyên endSchoolTerm, String[] chủ đề) {
         trở lại siêu .listPoJos(Điểm số thống kê. lớp học , siêu .truy vấn()
             .select.schoolTerm().subject()
             .đếm( "đếm" )
             .điểm.tối.thiểu( "điểm_tối_thiểu" )
             .điểm.tối.đa( "điểm_tối_đa" )
             .điểm.trung.bình( "điểm_trung_bình" )
             .kết thúc()
             .nơi.isDeleted().isFalse()
             .and.schoolTerm().between(fromSchoolTerm, endSchoolTerm)
             .and.subject().in(chủ đề)
             .kết thúc()
             .groupBy.schoolTerm().subject().end()
             .orderBy.schoolTerm().asc().subject().asc().end()
         );
     }
}
  1. Trong quá trình triển khai DaoImpl, ngoài việc trả về kết quả thống kê theo điều kiện, kết quả còn được tự động chuyển đổi thành đối tượng ScoreStatistics và trả về theo quy tắc gạch chân sang trường hợp lạc đà.
  2. Bài kiểm tra
?
1
2
3
4
5
6
7
8
9
10
11
12
@ChạyVới (SpringRunner. lớp học )
@SpringBootTest (lớp = QuickStartApplication. lớp học )
công cộng lớp học Điểm Sinh ViênDaoImplTest {
     @Autowired
     riêng tư StudentScoreDao dao;
 
     @Bài kiểm tra
     công cộng vô hiệu thống kê() {
         Danh sách danh sách = dao.statistics( 2000 , 2019 , mới Sợi dây[]{ "Trung Quốc" , "toán học" , "Tiếng Anh" });
         System.out.println(danh sách);
     }
}

Xem đầu ra của bàn điều khiển:

DEBUG - ==> Đang chuẩn bị: SELECT school_term, subject, count(*) AS count, MIN(score) AS min_score, MAX(score) AS max_score, AVG(score) AS avg_score FROM student_score WHERE is_deleted = ? AND school_term BETWEEN ? AND ? AND subject IN (?, ?, ?) GROUP BY school_term, subject ORDER BY school_term ASC, subject ASC DEBUG - ==> Parameters: false(Boolean), 2000(Integer), 2019(Integer), 语文(String), 数学(String), 英语(String) DEBUG - <== Tổng cộng: 30 [ScoreStatistics(schoolTerm=2000, subject=数学, count=17, minScore=1, maxScore=93, avgScore=36.0588), ... ScoreStatistics(schoolTerm=2009, subject=语文, count=24, minScore=3, maxScore=100, avgScore=51.2500)] 。

Đến đây là kết thúc bài viết về những ưu điểm của Fluent Mybatis trong quá trình phát triển thực tế. Để biết thêm nội dung phát triển Fluent Mybatis có liên quan, vui lòng tìm kiếm các bài viết trước của tôi hoặc tiếp tục duyệt các bài viết liên quan bên dưới. Tôi hy vọng bạn sẽ ủng hộ tôi trong tương lai! .

Liên kết gốc: https://blog.csdn.net/qq_27933251/article/details/115378245.

Cuối cùng, bài viết so sánh lợi thế trong quá trình phát triển thực tế của Fluent Mybatis kết thúc tại đây. Nếu bạn muốn biết thêm về so sánh lợi thế trong quá trình phát triển thực tế của Fluent Mybatis, vui lòng tìm kiếm bài viết CFSDN hoặc tiếp tục duyệt qua các bài viết liên quan. Tôi hy vọng tất cả các bạn ủng hộ blog của tôi trong tương lai! .

32 4 0
qq735679552
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress