介紹Lazy Jpa 是lazy orm框架衍生出類似Spring JPA 框架-CSDN博客

介紹Lazy Jpa 是lazy orm框架衍生出類似Spring JPA 框架
非Spring項目使用
安裝
<dependency>
<groupId>top.wu2020</groupId>
<artifactId>wu-database-lazy-jpa</artifactId>
<version>1.2.6-JDK17-SNAPSHOT</version>
</dependency>
聲明接口

public interface TestLazyJpaRepository extends LazyJpaRepository<SysUser,Long> {
}
接口調(diào)用(基礎(chǔ)CRUD)
public static void main(String[] args) {
LazyLambdaStream lazyLambdaStream = LazyLambdaStreamFactory.createLazyLambdaStream("jdbc:mysql://127.0.0.1:3306/wu_database_lazy_simple?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai",
"root", "wujiawei");
TestLazyJpaRepository lazyJpaRepository = LazyRepositoryFactorySupport.createLazyJpaRepository(lazyLambdaStream, TestLazyJpaRepository.class);

    // 統(tǒng)計數(shù)據(jù)庫數(shù)量
    long count = lazyJpaRepository.count();
    // 獲取所有數(shù)據(jù)
    Iterable<SysUser> all = lazyJpaRepository.findAll();
    for (SysUser sysUser : all) {
        System.out.println(sysUser);
    }
}

Spring 項目使用
安裝
<dependency>
<groupId>top.wu2020</groupId>
<artifactId>wu-framework-lazy-orm-spring-starter</artifactId>
<version>1.2.6-JDK17-SNAPSHOT</version>
</dependency>
聲明接口
@LazyRepository
public interface TestLazyJpaRepository extends LazyJpaRepository<SysUser,Long> {
}
接口配置
@LazyRepositoryScan(scanBasePackages = "com.wu.xxx.mapper")// 掃描你使用的repository接口
@SpringBootApplication
public class WuDatabaseLazyStarterSimpleApplication {

public static void main(String[] args) {
    SpringApplication.run(WuDatabaseLazyStarterSimpleApplication.class, args);
}

}
接口使用
@LazyRepository
public interface SysMenuLazyJpaRepository extends LazyJpaRepository<SysMenu, Integer> {

// 自定義查詢
@LazySelect("select * from sys_menu where parent_id={parentId}")
List<SysMenu> findListByParentId(Integer parentId);


@LazySelect("select * from sys_menu where id ={id}")
SysMenu findMenuById(@LazyParam("id") Integer menuId);


@LazySelect("select * from sys_menu where id ={id}")
List<Map<?, ?>> findListMapByParentId(@LazyParam("id") Integer menuId);

@LazyInsert("INSERT Ignore INTO `sys_menu` ( `id`, `name`, `url`, `icon`, `parent_id`,`parent_name`,`sort`,`status`) VALUES ({id},{name},{url},{icon},{parentId},{parentName},{sort},{status});")
void insert(Integer id,
            String name,
            String url,
            String icon,
            Integer parentId,
            String parentName,
            Integer sort,
            Integer status
);

@LazyUpdate("UPDATE `sys_menu` SET  `name` = {name} WHERE `id` = {id};")
void updateNameById(Integer id, String name);


@LazyDelete("DELETE FROM sys_menu  WHERE `id` = {id};")
void removeById(int id);
/**
 * 執(zhí)行sql select * from sys_menu where id={id}
 * 根據(jù)ID獲取數(shù)據(jù)
 * @param id 數(shù)據(jù)ID
 */
SysMenu findById(int id);

/**
 * 執(zhí)行sql select id,name,url,icon from sys_menu where id={id}
 * 獲取ID、名稱、url、icon
 * @param id 主鍵ID
 * @return 查詢信息
 */
SysMenu findIdAndNameAndUrlAndIconById(int id);

}
當前項目地址
測試案例地址

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容