发表于: 2020-04-28 07:54:25
1 1284
control + tab: switch task
自定义resultType
新建一个包装类UserVO, 加上mobile,其他文件的相应位置返回类型都改成userVO,
public class UserVO {
private String mobile;
@Override
public String toString() {
return "UserVO{" +
"mobile='" + mobile + '\'' +
'}';
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}}
<!--UserMapper.xml-->
<select id="selectObject" resultType="pojo.UserVO">
select
id as id,
name as mobile,
qq as qq,
type as type,
time as time,
link as link,
create_at as create_at,
create_by as create_by,
update_at as update_at,
update_by as update_by
</select>
// UserDaoTest.java , comment掉updateUser
@Test
public void selectObject(){
UserVO user = userDao.selectObject(10L);
System.out.println(user);
// sqlSession.commit();
}
在MyBatis进行查询映射时,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值。
resultType和resultMap:
resultType是直接表示返回类型的(对应着我们的model对象中的实体)
resultMap则是对外部ResultMap的引用(提前定义了db和model之间的隐射key-->value关系),但是resultType跟resultMap不能同时存在。
参考链接:https://blog.csdn.net/caolipeng_918/article/details/39344783
传入参数的等价写法
<!-- 传入id,name-->
where id = #{0,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT}
where id = #{param1,jdbcType=BIGINT}
在UserDao接口绑定就能获得自动提示
User selectObject(@Param("id") Long id);
使用注解的方式查询, 把userMapper.xml整个comment掉,不常用
User selectObject(@Param("id") Long id);
//or
@Select("select * from USER ")
mybatis-config.xml的resource:
<!-- 使用相对于类路径的资源引用-->
<!-- <mapper resource="UserMapper.xml"/>-->
<!-- 使用类的映射器接口实现类的完全限定类名-->
<!-- 可以引入注解模式-->
<!-- <mapper class="dao.UserDao"/>-->
<package name="dao"/>
成功运行注解方式查询:
Spring
面向方面的程序设计(AOP):
Spring 框架的一个关键组件是面向方面的程序设计(AOP)框架。一个程序中跨越多个点的功能被称为横切关注点,这些横切关注点在概念上独立于应用程序的业务逻辑。有各种各样常见的很好的关于方面的例子,比如日志记录、声明性事务、安全性,和缓存等等。
在 OOP 中模块化的关键单元是类,而在 AOP 中模块化的关键单元是方面。AOP 帮助你将横切关注点从它们所影响的对象中分离出来,然而依赖注入帮助你将你的应用程序对象从彼此中分离出来。
Spring 框架的 AOP 模块提供了面向方面的程序设计实现,可以定义诸如方法拦截器和切入点等,从而使实现功能的代码彻底的解耦出来。使用源码级的元数据,可以用类似于.Net属性的方式合并行为信息到代码中。
依赖注入(DI)
Spring 最认同的技术是控制反转的依赖注入(DI)模式。控制反转(IoC)是一个通用的概念,它可以用许多不同的方式去表达,依赖注入仅仅是控制反转的一个具体的例子。
当编写一个复杂的 Java 应用程序时,应用程序类应该尽可能的独立于其他的 Java 类来增加这些类可重用可能性,当进行单元测试时,可以使它们独立于其他类进行测试。依赖注入(或者有时被称为配线)有助于将这些类粘合在一起,并且在同一时间让它们保持独立。
到底什么是依赖注入?让我们将这两个词分开来看一看。这里将依赖关系部分转化为两个类之间的关联。例如,类 A 依赖于类 B。现在,让我们看一看第二部分,注入。所有这一切都意味着类 B 将通过 IoC 被注入到类 A 中。
依赖注入可以以向构造函数传递参数的方式发生,或者通过使用 setter 方法 post-construction。由于依赖注入是 Spring 框架的核心部分,所以我将在一个单独的章节中利用很好的例子去解释这一概念。
IoC 容器
Spring 容器是 Spring 框架的核心。容器将创建对象,把它们连接在一起,配置它们,并管理他们的整个生命周期从创建到销毁。Spring 容器使用依赖注入(DI)来管理组成一个应用程序的组件。这些对象被称为 Spring Beans,我们将在下一章中进行讨论。
通过阅读配置元数据提供的指令,容器知道对哪些对象进行实例化,配置和组装。配置元数据可以通过 XML,Java 注释或 Java 代码来表示。下图是 Spring 如何工作的高级视图。 Spring IoC 容器利用 Java 的 POJO 类和配置元数据来生成完全配置和可执行的系统或应用程序。
IOC 容器具有依赖注入功能的容器,它可以创建对象,IOC 容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。通常new一个实例,控制权由程序员控制,而"控制反转"是指new实例工作不由程序员来做而是交给Spring容器来做。在Spring中BeanFactory是IOC容器的实际代表者。
Bean和Spring的关系
评论