MyBatis 学习笔记

一.MyBatis系统的核心设置——XML配置文件 Configuration.xml

environment 元素体中包含对事务管理和连接池的环境配置。mappers元素是包含所有 mapper 映射器。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="${driver}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="org/mybatis/example/BlogMapper.xml"/>
  </mappers>
</configuration>

二.从XML中构建SqlSessionFactory,通过SqlSessionFactory打开一个数据库回话,同时开启事务

<span style="white-space:pre">	</span>public SqlSession getSqlSession() throws IOException{
		// 通过配置文件获得数据库连接信息
		Reader reader = Resources.getResourceAsReader("com/hdu/keynes/config/Configuration.xml");
		// 通过配置文件信息构建一个SqlSessionFactory
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
		// 通过SqlSessionFactory打开一个数据库回话,同时开启事务
		SqlSession sqlSession = sqlSessionFactory.openSession(true);
		return sqlSession;
	}

三.用 SqlSession实例来直接执行已映射的SQL语句

SqlSession session = sqlSessionFactory.openSession();
try {
  Blog blog = (Blog) session.selectOne("org.mybatis.example.BlogMapper.selectBlog", 101);
} finally {
  session.close();
}


四.基于XML映射语句

1. .xml文件写在了Configuration.xml的<mapper>标签中

<mapper namespace="org.mybatis.example.BlogMapper">

  <select id="selectBlog" parameterType="int" <span class="atn" style="white-space: normal; font-family: Arial, Helvetica, sans-serif;"></span>resultType="hashmap"<span class="atv" style="white-space: normal; font-family: Arial, Helvetica, sans-serif;"></span>>
    select * from Blog where id = #{id}
  </select>

</mapper>

2. parameterType="int" 为简单的命名参数映射。参数类型被设置为“int” ,因此,这个参数可以被设置成任何内容。

如果你传递了一个复杂的对象,那么 MyBatis 的处理方式就会有一点不同。比如:

<insert id="insertUser" parameterType="User" resultType="hashmap">
  insert into users (id, username, password)
  values (#{id}, #{username}, #{password})
</insert>

如果 User 类型的参数对象传递到了语句中, username 和 password 属性将会被查找, id、 然后它们的值就被传递到预处理语句的参数中。 

3. resultType="hashmap"。所有列被自动映射到HashMap的键上,这由resultType属性指定。这在很多情况下是有用的,但是HashMap不能很好描述一个领域模型。

package com.hdu.keynes;
public class User {
  private int id;
  private String username;
  private String hashedPassword;
  
  public int getId() {
    return id;
  }
  public void setId(int id) {
    this.id = id;
  }
  public String getUsername() {
    return username;
  }
  public void setUsername(String username) {
    this.username = username;
  }
  public String getHashedPassword() {
    return hashedPassword;
  }
  public void setHashedPassword(String hashedPassword) {
    this.hashedPassword = hashedPassword;
  }
}

这样的一个JavaBean可以被映射到结果集,

<pre name="code" class="html"><typeAliases>
<span style="white-space:pre">	</span><typeAlias type="com.hdu.keynes.User" alias="User"/>
</typeAliases>

<select id="selectUsers" parameterType="int" resultType=User">
  select id, username, hashedPassword
  from some_table
  where id = #{id}
</select>


typeAliases 类型别名是为 Java 类型命名一个短的名字。 它只和 XML 配置有关, 只用来减少类完全限定名的多余部分。使用这个配置, “User”可以任意用来替代“com.hdu.keynes.User”所使用的地方。 

内容概要:该论文聚焦于T2WI核磁共振图像超分辨率问题,提出了一种利用T1WI模态作为辅助信息的跨模态解决方案。其主要贡献包括:提出基于高频信息约束的网络框架,通过主干特征提取分支和高频结构先验建模分支结合Transformer模块和注意力机制有效重建高频细节;设计渐进式特征匹配融合框架,采用多阶段相似特征匹配算法提高匹配鲁棒性;引入模型量化技术降低推理资源需求。实验结果表明,该方法不仅提高了超分辨率性能,还保持了图像质量。 适合人群:从事医学图像处理、计算机视觉领域的研究人员和工程师,尤其是对核磁共振图像超分辨率感兴趣的学者和技术开发者。 使用场景及目标:①适用于需要提升T2WI核磁共振图像分辨率的应用场景;②目标是通过跨模态信息融合提高图像质量,解决传统单模态方法难以克服的高频细节丢失问题;③为临床诊断提供更高质量的影像资料,帮助医生更准确地识别病灶。 其他说明:论文不仅提供了详细的网络架构设计与实现代码,还深入探讨了跨模态噪声的本质、高频信息约束的实现方式以及渐进式特征匹配的具体过程。此外,作者还对模型进行了量化处理,使得该方法可以在资源受限环境下高效运行。阅读时应重点关注论文中提到的技术创新点及其背后的原理,理解如何通过跨模态信息融合提升图像重建效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值