提交 93503583 编写于 作者: MaxKey单点登录官方's avatar MaxKey单点登录官方

update skip null

上级 3d603fe3
activeProfiles=D\:\\JavaIDE\\apache-maven-3.6.3/
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=false
resolveWorkspaceProjects=true
version=1
......@@ -33,10 +33,15 @@ public class SqlProviderInsert <T extends JpaBaseDomain>{
sql.INSERT_INTO(MapperMetadata.getTableName(entity.getClass()));
for (int i = 0; i < listFields.size(); i++) {
FieldColumnMapper fieldColumnMapper=listFields.get(i);
if(fieldColumnMapper.getFieldType().equalsIgnoreCase("String")
&&BeanUtil.getValue(entity, fieldColumnMapper.getFieldName())==null
&&fieldColumnMapper.getGeneratedValue()==null) {
if(
(
fieldColumnMapper.getFieldType().equalsIgnoreCase("String")
||fieldColumnMapper.getFieldType().startsWith("byte")
)
&&BeanUtil.getValue(entity, fieldColumnMapper.getFieldName())==null
&&fieldColumnMapper.getGeneratedValue()==null) {
//skip null field value
_logger.trace("skip field value is null ");
}else {
//have GeneratedValue and (value is null or eq "")
if(fieldColumnMapper.getGeneratedValue()!=null
......
......@@ -34,12 +34,19 @@ public class SqlProviderUpdate <T extends JpaBaseDomain>{
for (int i = 0; i < listFields.size(); i++) {
FieldColumnMapper fieldColumnMapper=listFields.get(i);
_logger.trace("Field " +fieldColumnMapper.getFieldName()+" , Type "+ fieldColumnMapper.getFieldType());
if (fieldColumnMapper.isIdColumn()) {
continue;
}
if(fieldColumnMapper.getFieldType().equalsIgnoreCase("String")&&BeanUtil.getValue(entity, fieldColumnMapper.getFieldName())==null) {
if(
(fieldColumnMapper.getFieldType().equalsIgnoreCase("String")
||fieldColumnMapper.getFieldType().startsWith("byte")
)
&&BeanUtil.getValue(entity, fieldColumnMapper.getFieldName())==null) {
//skip null field value
_logger.trace("skip field value is null ");
}else {
sql.SET(fieldColumnMapper.getColumnName() + "=#{" + fieldColumnMapper.getFieldName() + "}");
}
......
......@@ -58,7 +58,7 @@ public class MyBatisTestRunner {
Thread.sleep(1000);
_logger.info("insert id " + student.getId());
service.remove(student.getId());
//service.remove(student.getId());
}
......@@ -71,6 +71,23 @@ public class MyBatisTestRunner {
_logger.info("Students "+student);
}
@Test
public void update() throws Exception{
_logger.info("get...");
Students student=service.get("317d5eda-927c-4871-a916-472a8062df23");
System.out.println("Students "+student);
_logger.info("Students "+student);
_logger.info("update...");
student.setImages(null);
service.update(student);
_logger.info("updateed.");
student.setImages("ssss".getBytes());
service.update(student);
_logger.info("updateed2.");
}
@Test
public void find() throws Exception{
......
......@@ -52,6 +52,9 @@ public class Students extends JpaBaseDomain implements Serializable{
@Column
private String stdClass;
@Column
private byte[] images;
public Students() {
super();
......@@ -131,6 +134,16 @@ public class Students extends JpaBaseDomain implements Serializable{
}
public byte[] getImages() {
return images;
}
public void setImages(byte[] images) {
this.images = images;
}
@Override
public String toString() {
return "Students [id=" + id + ", stdNo=" + stdNo + ", stdName=" + stdName + ", stdGender=" + stdGender
......
......@@ -5,18 +5,16 @@
<PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss,SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
</appenders>
<loggers>
<root level="debug">
<appender-ref ref="consolePrint" />
</root>
<Logger name="org.springframework" level="INFO">
<appender-ref ref="consolePrint" />
</Logger>
<Logger name="org.apache.mybatis" level="DEBUG">
<appender-ref ref="consolePrint" />
</Logger>
</loggers>
</appenders>
<loggers>
<Logger name="org.springframework" level="INFO"></Logger>
<Logger name="org.apache.mybatis" level="DEBUG"></Logger>
<Logger name="org.apache.mybatis.jpa" level="TRACE"></Logger>
<root level="INFO">
<appender-ref ref="consolePrint" />
</root>
</loggers>
</configuration>
\ No newline at end of file
......@@ -11,12 +11,9 @@
<root level="debug">
<appender-ref ref="consolePrint" />
</root>
<Logger name="org.springframework" level="INFO">
<appender-ref ref="consolePrint" />
</Logger>
<Logger name="org.apache.mybatis" level="DEBUG">
<appender-ref ref="consolePrint" />
</Logger>
<Logger name="org.springframework" level="INFO"></Logger>
<Logger name="org.apache.mybatis" level="DEBUG"></Logger>
</loggers>
</configuration>
\ No newline at end of file
......@@ -35,6 +35,11 @@
</properties>
<repositories>
<repository>
<id>mvnrepository</id>
<name>mvnrepository</name>
<url>http://mvnrepository.com/</url>
</repository>
<repository>
<id>sonatype-nexus-staging</id>
<name>Sonatype Nexus Staging</name>
......@@ -45,14 +50,6 @@
<name>jcenter</name>
<url>http://jcenter.bintray.com</url>
</repository>
<!--
<repository>
<id>mvnrepository</id>
<name>mvnrepository</name>
<url>http://mvnrepository.com/</url>
</repository>
-->
</repositories>
<dependencies>
......@@ -140,12 +137,12 @@
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.3</version>
<version>3.5.6</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.2</version>
<version>2.0.6</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册