//返回map @Test public void test2() throws IOException { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); try { TuringEmailDao turingEmailDao = sqlSession.getMapper(TuringEmailDao.class); Map<String, Object> map = turingEmailDao.doGetId(5); System.out.println(map); } finally { sqlSession.close(); }
|
级联映射查询 @Select("SELECT e.*,s.*\n" +
"FROM `turing_email` e INNER JOIN `turing_email_mapping` s \n" +
"ON e.`email_id` = s.`email_id` WHERE e.email_id = #{emailId}")
@ResultType(TuringEmail.class) //此处返回类型为java类
public TuringEmail doFindById(Integer emailId); @Test public void test2() throws IOException { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); try { TuringEmailDao turingEmailDao = sqlSession.getMapper(TuringEmailDao.class); TuringEmail turingEmail = turingEmailDao.doFindById(5); System.out.println(turingEmail); } finally { sqlSession.close(); } }
|
//当返回多条数据时用List集合接收 @Select("SELECT e.*,s.*\n" +
"FROM `turing_email` e INNER JOIN `turing_send_email_status` s \n" +
"ON e.`email_id` = s.`email_id` WHERE e.email_id = #{emailId}")
@ResultType(TuringEmail.class) //此处返回类型为一个包含java类的List集合
public List<TuringEmail> doFindById(Integer emailId);
@Test public void test2() throws IOException { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); try { TuringEmailDao turingEmailDao = sqlSession.getMapper(TuringEmailDao.class); List<TuringEmail> turingEmail = turingEmailDao.doFindById(5); System.out.println(turingEmail); } finally { sqlSession.close(); }
|
//一对一级联分步查询 public String doFindById() { 配置级联分步映射 配置SQL语句及建立SQL语句的方法 @SelectProvider(type = TuringEmialSQLBuilder.class, method = "doFindById")
建立SQL语句的方法 public String doFindById(){ @SelectProvider(type = TuringEmailMappingSQLBuulder .class,method = "doFindById")
@Test
|
一对一、一对多级联分步查询 public String doFindById() { @Results(value = { public String doFindById(){
return new SQL(){{
SELECT("user_id","member_name","member_phone" ).
FROM("turing_send_email_status").
WHERE("email_id = #{emailId}");
}}.toString();
} @SelectProvider(type = TuringEmailStatusSQL.class,method = "doFindById")
public String doFindById(){ @SelectProvider(type = TuringEmailMappingSQLBuulder .class,method = "doFindById")
@Test
|