norm

a small java orm library.

Лицензия

Лицензия

Категории

Категории

ORM Данные
Группа

Группа

io.github.xcr1234
Идентификатор

Идентификатор

norm
Последняя версия

Последняя версия

2.4
Дата

Дата

Тип

Тип

jar
Описание

Описание

norm
a small java orm library.
Ссылка на сайт

Ссылка на сайт

https://github.com/xcr1234/norm
Система контроля версий

Система контроля версий

https://github.com/xcr1234/norm

Скачать norm

Имя Файла Размер
norm-2.4.pom
norm-2.4.jar 160 KB
norm-2.4-sources.jar 84 KB
norm-2.4-javadoc.jar 737 KB
Обзор

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/io.github.xcr1234/norm/ -->
<dependency>
    <groupId>io.github.xcr1234</groupId>
    <artifactId>norm</artifactId>
    <version>2.4</version>
</dependency>
// https://jarcasting.com/artifacts/io.github.xcr1234/norm/
implementation 'io.github.xcr1234:norm:2.4'
// https://jarcasting.com/artifacts/io.github.xcr1234/norm/
implementation ("io.github.xcr1234:norm:2.4")
'io.github.xcr1234:norm:jar:2.4'
<dependency org="io.github.xcr1234" name="norm" rev="2.4">
  <artifact name="norm" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.github.xcr1234', module='norm', version='2.4')
)
libraryDependencies += "io.github.xcr1234" % "norm" % "2.4"
[io.github.xcr1234/norm "2.4"]

Зависимости

compile (1)

Идентификатор библиотеки Тип Версия
cglib : cglib jar 2.2

provided (9)

Идентификатор библиотеки Тип Версия
org.springframework : spring-core Необязательный jar 4.3.19.RELEASE
org.springframework : spring-beans Необязательный jar 4.2.5.RELEASE
org.springframework : spring-context Необязательный jar 4.2.5.RELEASE
org.springframework : spring-jdbc Необязательный jar 4.2.5.RELEASE
org.slf4j : slf4j-api Необязательный jar 1.7.25
org.springframework : spring-test Необязательный jar 4.2.5.RELEASE
org.mybatis : mybatis jar 3.4.4
org.mybatis : mybatis-spring jar 1.3.1
log4j : log4j jar 1.2.17

test (4)

Идентификатор библиотеки Тип Версия
junit : junit jar 4.12
com.h2database : h2 jar 1.3.162
mysql : mysql-connector-java jar 5.1.38
org.apache.commons : commons-dbcp2 jar 2.1.1

Модули Проекта

Данный проект не имеет модулей.

Norm - 一个Java的ORM框架

Norm是一套微型的JAVA数据库ORM库,提供了简单高效的 API,仅需一个600KB左右的JAR包。 让开发者不需要关心数据库操作的具体细节,只需专注SQL和业务逻辑。同时,也提供了对于事务、缓存是处理,支持在Spring环境中运行!

Norm的设计参考了Hibernate、Spring Data Jpa、Sqlla、DbUtils等数据库框架,它吸收了这些框架的优点,同时解决了一些开发过程中遇到的问题。它提供了简单的API,让开发者不需要关心数据库操作的具体细节,只需专注SQL和业务逻辑。同时简单的事务模型让开发过程增益很多。.

(Norm = N - ORM = Norm alize)

Norm 1.x版本(最新1.7.2)是作者自用的一个项目,已成功推广到公司项目使用;Norm 2.x版本对代码结构和质量、功能进行了全面重构,更加轻量级,逻辑更加清晰

支持版本为JDK1.6,老系统也能使用

依赖

2.x稳定版本,maven坐标:

<dependency>
    <groupId>io.github.xcr1234</groupId>
    <artifactId>norm</artifactId>
    <version>2.4</version>
</dependency>

简单使用

配置

Norm norm = new Norm();
norm.setDriverClass("com.mysql.jdbc.Driver"); 
norm.setUrl("jdbc:mysql://localhost:3306/test?useSSL=false");
norm.setUsername("root");
norm.setPassword("root");
norm.setShowSql(true);

创建实体类

package entity;

import norm.anno.Table;
import norm.anno.Id;
import norm.anno.Column;

@Table("tb_user")    //使用 Table 标识后,表名为@Table的值,如果没有 Table 标识,默认是类名)。
public class User {
    @Id
    private Integer id;
    @Column("username")  //使用 Column 标识后的属性使用标识的值来对应表中的列
    private String name;
    public User(){
        //必须有无参数默认构造函数
    }
    //省略get、set、toString方法
}

实体类的@Id和无参数默认构造函数是必须有的,且实体类不可为final。否则会抛出BeanException。

DAO 接口类

package dao;

import norm.CrudDao;
import entity.User;


public interface UserDao extends CrudDao<User,Integer>{

}

CrudDao是Norm框架提供的增删改查接口,由于UserDao继承了CrudDao<User,Integer>,因此UserDao就具备了对User实体进行增删改查的功能(Integer是User实体的Id字段的类型)。

不用写UserDao 接口的实现类,Norm框架会为你实现。

CRUD查询

UserDao userDao = norm.createDao(UserDao.class);

//find all 查询
List<User> userList = userDao.findAll();
System.out.println(userList);

 //find all 分页查询,MySQL,查询第2页的内容,每页3条。
norm.setPageSql(new MySQLPage());
Page page = new Page(2,3);
List<User> userListPaged = userDao.findAll(page);
System.out.println(userListPaged);

//find one查询
User user = userDao.findOne(8);
System.out.println(user);

//insert
User myUser = ...;
userDao.save(myUser);

//delete
userDao.delete(user);
userDao.deleteById(1);

代码生成器

自动生成java实体、dao、service、controller代码

https://github.com/xcr1234/norm-generator

Wiki

https://gitee.com/ironV/norm/wikis/pages

Версии библиотеки

Версия
2.4
2.3
2.1
2.0
1.7.2
1.7.1
1.7
1.6
1.5
1.4
1.3
1.2
1.1
1.0