怎么判断一个网站做的好不好,西安给大学做网站公司,深圳网上专业推广公司,网站备案号查询系统编译软件#xff1a;IntelliJ IDEA 2019.2.4 x64 操作系统#xff1a;win10 x64 位 家庭版 Maven版本#xff1a;apache-maven-3.6.3 Mybatis版本#xff1a;3.5.6 文章目录 引言一、查询单行数据返回单个对象二、查询多行数据返回对象的集合三、 查询单行数据返回Map[Key,… 编译软件IntelliJ IDEA 2019.2.4 x64 操作系统win10 x64 位 家庭版 Maven版本apache-maven-3.6.3 Mybatis版本3.5.6 文章目录 引言一、查询单行数据返回单个对象二、查询多行数据返回对象的集合三、 查询单行数据返回Map[Key,Value]集合四、 查询多行数据返回Map集合 引言
在Mybatis中resultType属性是selcet元素【映射查询语句】中常用的属性之一这个属性是什么意思呢Mybatis官方对它的描述如下所示期望从这条语句中返回结果的类全限定名或别名。 注意如果返回的是集合那应该设置为集合包含的类型而不是集合本身的类型。 resultType 和 resultMap 之间只能同时使用一个。 一、查询单行数据返回单个对象
应用场景 例如根据id或者字段条件查询获取表中的某一个字段值 代码示例如下
①Java代码示例如下
//根据empId来查出对应的employee对象
public Employee selectByempId(int empId);②sql映射文件中相关代码如下
!-- resultType:Mapper接口中selectByempId方法的返回值类型【Employee类写类的全名称】 --
select idselectByempId resultTypemybatis.pojo.Employeeselectid,last_name ,email,salaryfromtbl_employeewhereid #{empId}
/select❗注意
①resultType中的类名一般是写类的全类名但如果之前自定义了类的别名也可以写上别名去
②如果是java 的基本类型就不需要别名的
别名映射的类型_bytebyte_longlong_shortshort_intint_booleanbooleanintegerIntegerstringStringdateDatebooleanBoolean
如何给类自定义别名 在Mybatis-config.xml文件中给类起别名 ①直接给类起别名 代码示例如下 typeAliases!-- 给mybatis.pojo包下的Employee类起了别名【employee】 --typeAlias typemybatis.pojo.Employee aliasemployee/
/typeAliases②给包下的类批量起别名 代码示例如下 typeAliasestypeAlias typemybatis.pojo /
/typeAliasesps: 只要写包名即可mybatis会自动去扫描包下的所有类并以类名的首字母小写给类起别名 在类上使用注解Alias给类起别名 代码示例如下 package mybatis.pojo;Alias(emp)
//使用Alias注解给Employee类起了别名emp
public class Employee {}二、查询多行数据返回对象的集合
代码示例如下
①Java代码示例如下
//查看所有的员工信息
public ListEmployee showAllEmployee();②sql映射文件中相关代码如下
!-- 查看所有的员工信息 --
!-- 如果resultType中的值是一个类的类型如果之前定义它的别名这里可填写该类的别名毕竟有时类的全名太长了 --select idshowAllEmployee resultTypemybatis.pojo.Employeeselectid,last_name ,email,salaryfromtbl_employee/select❗ 注意如果返回的是集合那应该设置为集合包含的类型而不是集合本身的类型。 三、 查询单行数据返回Map[Key,Value]集合
应用场景 数据库中的字段作为Map的key,查询结果作为Map的Value ⭐用法案例 根据员工编号查询指定的员工信息并用Map集合返回结果 ①在Mapper接口书写相应的方法
//根据员工编号查询指定的员工信息,并用Map集合返回结果
public MapString,Object showEmpoloyByempID(int empId);②在映射文件中书写相应的sql
select idshowEmpoloyByempID resultTypemapselectid,last_name ,email,salaryfromtbl_employeewhereid #{empId}
/select③测试
Test
public void test06(){try {String resource mybatis-config.xml;InputStream inputStream Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder().build(inputStream);//通过SqlSessionFactory对象调用openSession();SqlSession sqlSession sqlSessionFactory.openSession();//获取EmployeeMapper的代理对象EmployeeMapper employeeMapper sqlSession.getMapper(EmployeeMapper.class);MapString, Object map employeeMapper.showEmpoloyByempID(1);System.out.println(map);} catch (IOException e) {e.printStackTrace();}
}四、 查询多行数据返回Map集合
应用场景 MapInteger key,Employee value 对象的id作为key 对象作为value ⭐用法案例 查询所有的员工信息使用Map集合返回查询结果 ①在Mapper接口中书写相应方法
//查询所有的员工信息
MapKey(id)
public MapInteger,Employee showAll();②在对应的映射文件中书写相关的sql
select idshowAll resultTypemapselectid,last_name ,email,salaryfromtbl_employee
/select③测试
Test
public void test07(){try {String resource mybatis-config.xml;InputStream inputStream Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder().build(inputStream);//通过SqlSessionFactory对象调用openSession();SqlSession sqlSession sqlSessionFactory.openSession();//获取EmployeeMapper的代理对象EmployeeMapper employeeMapper sqlSession.getMapper(EmployeeMapper.class);MapInteger, Employee map employeeMapper.showAll();System.out.println(map);} catch (IOException e) {e.printStackTrace();}
}