List
==> Preparing: select id,name ,email,age from student where name =李四
数据是原样使用的,查询sql语句的时候会出错
需要加上‘ ’
List
StudentDao:
package com.bjpowernode.dao;
import com.bjpowernode.domain.Student;
import com.bjpowernode.vo.QueryParama;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
public interface StudentDao {
//查询学生
Student selectById(Integer id);
//dao接口的方法是一个简单类型的 java基本数据类型 和字符串
Student selectByEmail(String email);
List selectByNameOrAge(@Param(value="myname") String name,
@Param("myage") Integer age);
List selectByObject(Student student);
//对象不局限于实体类,他可以是任意的一个实体类,有属性,有Sett Gett方法就能使用
List selectByQueryParama(QueryParama parama);
//使用位置获取参数
List selectByPosition(String name,Integer age);
List selectStudentByMap(Map map);
//更新
int updateStudent(Student student);
//${}占位符的使用查询 ,使用@Param命名
List queryStudent(@Param("studentName") String name);
//按id排序
List queryStudentOrderById();
//按照name排序
List queryStudentOrderName();
//传入利用占位符特定参数查询
List queryStudentOrderByColName(@Param("myname") String name,
@Param("colName") String colName,
@Param("tableName") String tableName);
}
StudentDao.xml:
select id,name ,email,age from student where id=#{studentid}
测试类,MyTest2类:
package com.bjpowernode;
import com.bjpowernode.dao.StudentDao;
import com.bjpowernode.domain.Student;
import com.bjpowernode.utils.MybatisUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import java.util.List;
public class MyTest2 {
//${}占位符使用查询
@Test
public void testQueryStudent(){
//获取SqlSession
SqlSession session= MybatisUtil.getSqlSession();
//获取dao代理
StudentDao dao=session.getMapper(StudentDao.class);
//调用方法 注意李四要加单引号
List students=dao.queryStudent("'李四'");
students.forEach(stu-> System.out.println("stu"+stu));
//4.关闭SqlSession对象
session.close();
}
//查询,按id排序
@Test
public void testQueryOrderById(){
//获取SqlSession
SqlSession session= MybatisUtil.getSqlSession();
//获取dao代理
StudentDao dao=session.getMapper(StudentDao.class);
//调用方法
List students=dao.queryStudentOrderById();
students.forEach(stu-> System.out.println("stu"+stu));
//4.关闭SqlSession对象
session.close();
}
//查询,按name排序
@Test
public void testQueryOrderByName(){
//获取SqlSession
SqlSession session= MybatisUtil.getSqlSession();
//获取dao代理
StudentDao dao=session.getMapper(StudentDao.class);
//调用方法
List students=dao.queryStudentOrderName();
students.forEach(stu-> System.out.println("stu"+stu));
//4.关闭SqlSession对象
session.close();
}
//传入多个参数
@Test
public void testQueryOrderByColName(){
//获取SqlSession
SqlSession session= MybatisUtil.getSqlSession();
//获取dao代理
StudentDao dao=session.getMapper(StudentDao.class);
//调用方法
List students=dao.queryStudentOrderByColName("李四","id","student");
students.forEach(stu-> System.out.println("stu"+stu));
//4.关闭SqlSession对象
session.close();
}
}
测试结果1:
2.
3.
4.



