guzz结合spring进行事务管理的测试程序

在原org.guzz.dao.UserDaoImpl类中加入以下测试方法,在外部程序中调用update222()方法即可,说明guzz的确支持spring事务,可混用JDBCTemplate,以及获取当前事务的Connection做一些自己的,相当的方便。


public void addAndUpdateFind() {
		User u = new User();
		u.setUserName("xx1");
		this.insert(u);
		System.out.println("add1, id: " + u.getId());

		User u1 = new User();
		u1.setId(u.getId());
		u1.setUserName("xx2");
		this.update(u1);
		System.out.println("upd1, id: " + u1.getId());
	}

	public User upd2() {
		SearchExpression se = SearchExpression.forClass(User.class);
		se.and(Terms.eq("userName", "xx2"));
		User u2 = (User) this.getWriteTemplate().exportReadAPI().findObject(se);
		// User u2 = this.findByUserName("xx2") ;
		System.out.println("find1");
		u2.setUserName("xx upd name");
		this.update(u2);
		System.out.println("upd2");
		return u2;
	}

	private void testConn(User u) throws SQLException {
		WriteTranSession session = this.getWriteTemplate()
				.getWriteTranSession();
		// CompiledSQL cs = null;
		Connection conn = session.getRWConnection();
		// session.createCompiledSQLBatcher(cs);
		System.out.println(conn.getAutoCommit());
		Statement stmt = null;
		try {
			stmt = conn.createStatement();
			String sql = "update tb_user set username='test conn' where pk="
					+ u.getId();
			stmt.executeUpdate(sql);
			System.out.println("testConn finished");
		} finally {
			stmt.close();
		}
	}
	
	private void testJdbcTemplate(User u) throws SQLException {
		ReadonlyTranSession session = this.getWriteTemplate().exportReadAPI();
		//WriteTranSession session = this.getTransactionManager().openRWTran(false);
		JDBCTemplate jt = session.createJDBCTemplate(User.class, null);
		Statement stmt = null;
		try {
			stmt = jt.getNativeConnection().createStatement();
			String sql = "update tb_user set username='testJdbcTemplate' where pk="
					+ u.getId();
			stmt.executeUpdate(sql);
			System.out.println("testConn finished");
			//session.commit();
		} finally {
			stmt.close();
			//session.close();
		}		
	}

	public void update222() {
		addAndUpdateFind();
		User u = upd2();
		try {
			testConn(u);
			testJdbcTemplate(u);
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}


转载于:https://my.oschina.net/webas/blog/108524

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值