Skip to content

why generator two table name ? #102

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
jiatongwu opened this issue Jun 30, 2019 · 3 comments
Closed

why generator two table name ? #102

jiatongwu opened this issue Jun 30, 2019 · 3 comments

Comments

@jiatongwu
Copy link

jiatongwu commented Jun 30, 2019

@Override
	public PageImpl<Signup> selectAll(Map<String, Object> params, Integer pageNum, Integer pageSize) {
		QueryExpressionDSL<SelectModel>.QueryExpressionWhereBuilder where = SqlBuilder
				.select(SignupDynamicSqlSupport.signup.allColumns()).from(SignupDynamicSqlSupport.signup, "signup")
				.where(SignupDynamicSqlSupport.id, SqlBuilder.isGreaterThan(0));
		String name = (String) params.get("name");
		if (StringUtils.isNotBlank(name)) {
			where.and(SignupDynamicSqlSupport.name, SqlBuilder.isLike("%" + name + "%"));
		}

		String phone = (String) params.get("phone");
		if (StringUtils.isNotBlank(phone)) {
			where.and(SignupDynamicSqlSupport.phone, SqlBuilder.isLike("%" + phone + "%"));
		}

		String census = (String) params.get("census");
		if (StringUtils.isNotBlank(census)) {
			where.and(SignupDynamicSqlSupport.census, SqlBuilder.isEqualTo(census));
		}
		String birthdayStart = (String) params.get("birthdayStart");
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

		if (StringUtils.isNotBlank(birthdayStart)) {
			try {
				where.and(SignupDynamicSqlSupport.birthdayDate,
						SqlBuilder.isGreaterThanOrEqualTo(sdf.parse(birthdayStart)));
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		String birthdayEnd = (String) params.get("birthdayEnd");
		if (StringUtils.isNotBlank(birthdayEnd)) {
			try {
				where.and(SignupDynamicSqlSupport.birthdayDate, SqlBuilder.isLessThanOrEqualTo(sdf.parse(birthdayEnd)));
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		String createTimeAsc = (String) params.get("createTimeAsc");
		if (StringUtils.isNotBlank(createTimeAsc)) {
			if ("1".equals(createTimeAsc)) {
//				where.orderBy(SignupDynamicSqlSupport.createTime.descending());
			} else if ("0".equals(createTimeAsc)) {
				where.orderBy(SignupDynamicSqlSupport.createTime.descending());
			}

		}

		PageHelper.startPage(pageNum, pageSize);
		List<Signup> selectByExample = signupDynamicSqlMapper
				.selectMany(where.build().render(RenderingStrategy.MYBATIS3));
		PageImpl<Signup> pageImpl = new MyPageImpl<Signup>(selectByExample, new PageRequest(pageNum - 1, pageSize),
				((com.github.pagehelper.Page<Signup>) selectByExample).getTotal());
		return pageImpl;
	}

; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select signup.* from signup signup where signup.id > 0 order by create_time DESC' at line 1] with root cause

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select signup.* from signup signup where signup.id > 0 order by create_time DESC' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_211]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_211]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_211]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_211]
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) ~[mysql-connector-java-5.1.47.jar:5.1.47]
at com.mysql.jdbc.Util.getInstance(Util.java:408) ~[mysql-connector-java-5.1.47.jar:5.1.47]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) ~[mysql-connector-java-5.1.47.jar:5.1.47]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) ~[mysql-connector-java-5.1.47.jar:5.1.47]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) ~[mysql-connector-java-5.1.47.jar:5.1.47]
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) ~[mysql-connector-java-5.1.47.jar:5.1.47]
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) ~[mysql-connector-java-5.1.47.jar:5.1.47]
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) ~[mysql-connector-java-5.1.47.jar:5.1.47]
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) ~[mysql-connector-java-5.1.47.jar:5.1.47]
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) ~[mysql-connector-java-5.1.47.jar:5.1.47]
at sun.reflect.GeneratedMethodAccessor114.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_211]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_211]
at org.apache.tomcat.jdbc.pool.StatementFacade$StatementProxy.invoke(StatementFacade.java:114) ~[tomcat-jdbc-8.5.40.jar:na]
at com.sun.proxy.$Proxy126.execute(Unknown Source) ~[na:na]
at sun.reflect.GeneratedMethodAccessor114.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_211]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_211]
at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) ~[mybatis-3.4.6.jar:3.4.6]
at com.sun.proxy.$Proxy127.execute(Unknown Source) ~[na:na]
at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:63) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:63) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:326) ~[mybatis-3.4.6.jar:3.4.6]

@jeffgbutler
Copy link
Member

You need to call build on the object returned from the orderBy method, not on the object returned from the where method.

@jeffgbutler
Copy link
Member

Resolved via #106

@jiatongwu
Copy link
Author

thank you very much ,
very good
it solved my problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants