文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MyBatis中基于别名typeAliases的设置方法

2023-06-20 15:27

关注

本篇内容介绍了“MyBatis中基于别名typeAliases的设置方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

MyBatis 别名typeAliases的设置

第一种:通过在配置文件中typeAlias节点设置type的方式

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>    <!-- 设置别名 -->    <typeAliases>        <!-- type指的是javabean的完全限定名   alias就是指代别名-->        <typeAlias alias="student" type="cn.entity.Student" />    </typeAliases>    <environments default="development">        <environment id="development">            <!-- 使用jdbc的事务 -->            <transactionManager type="JDBC" />            <!-- 使用自带的连接池 -->            <dataSource type="POOLED">                <property name="driver" value="oracle.jdbc.driver.OracleDriver" />                <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />                <property name="username" value="test" />                <property name="password" value="test" />            </dataSource>        </environment>    </environments>    <mappers>        <mapper resource="cn/dao/StudentDAO.xml" />    </mappers></configuration>

通过这种方式设置别名在以后的操作是如果用到了某个javabean的完全限定名的时候我们就可以使用alias设置的值来代替,从而简化了编程。

第二种方式:通过在配置文件中typeAliases节点中设置package 的方式

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>    <!-- 设置别名 -->    <typeAliases>        <!-- 通过package, 可以直接指定package的名字, mybatis会自动扫描你指定包下面的javabean, 并且默认设置一个别名,默认的名字为:             javabean 的首字母小写的非限定类名来作为它的别名 -->        <package name="cn.entity" />    </typeAliases>    <environments default="development">        <environment id="development">            <!-- 使用jdbc的事务 -->            <transactionManager type="JDBC" />            <!-- 使用自带的连接池 -->            <dataSource type="POOLED">                <property name="driver" value="oracle.jdbc.driver.OracleDriver" />                <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />                <property name="username" value="test" />                <property name="password" value="test" />            </dataSource>        </environment>    </environments>    <mappers>        <mapper resource="cn/dao/StudentDAO.xml" />    </mappers></configuration>

通过这种方式更加简化了编程,因为在实际开发中会有很多的javabean,这里只需要指定这些javabean所在的包就行了,那么默认他的别名是javabean 的首字母小写的非限定类名来作为它的别名。

第三种:通过注解的方式@Alias

@Alias(value="student")public class Student {     private Integer id;//编号     private Integer age;//年龄     private String name;//姓名    public Student() {    }    public Student(Integer id, Integer age, String name) {        super();        this.id = id;        this.age = age;        this.name = name;    }    public Integer getId() {        return id;    }    public void setId(Integer id) {        this.id = id;    }    public Integer getAge() {        return age;    }    public void setAge(Integer age) {        this.age = age;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    @Override    public String toString() {        return "Student [id=" + id + ", age=" + age + ", name=" + name + "]";    }    }

mybatis的typeAliases别名和注解理解

一、别名(从mapper那里寻找类换到了从mybatis-config那里找)

修改beammapper.xml

MyBatis中基于别名typeAliases的设置方法

修改全局配置mybatis-config.xml (新增了别名)

MyBatis中基于别名typeAliases的设置方法

包的别名

MyBatis中基于别名typeAliases的设置方法

会自动识别这个包下小写开头的类.

二、别名的好与坏

好处是可以简略地直接用小写开头的类名来用,更简洁

坏处是如果项目一多,类一多起来,就不好在beanmapper来ctrl来查找到对应的类

这里一个解决方法是别名的时候换成包的别名,但是依旧治标不治本.

所以这时候推荐使用注解

三、注解的使用

在每个beam包下使用注解来识别这个类

如:

MyBatis中基于别名typeAliases的设置方法

这里取的别名跟上面的配置的不一样,会报错找不到category这个类

MyBatis中基于别名typeAliases的设置方法

因为的把类取了个不一样的别名,

这时候改回正确的就可以正常运行了

MyBatis中基于别名typeAliases的设置方法

四、一些知识点

mybatis-config.xml

properties:属性集(引入外部资源)

resource:加载类路径下的资源

url:引用网络路径或磁盘路径下的资源

mappers:加载已经写好的sql映射配置文件并注册到全局配置文件

“MyBatis中基于别名typeAliases的设置方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯