mybatis别名机制:

在mybatis.xml文件中的<configuration></configuration>标签中间加入属性<typeAliases></typeAliases>

<?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>
<!-- 类型别名 -->
<typeAliases>
<!-- <typeAlias type="com.maya.model.TUser" alias="test"/> --><!-- 别名 -->
<package name="com.maya.model" /> <!-- 有点像spring中的那个扫描器 -->
</typeAliases> <environments default="test1">
<environment id="test1">
<transactionManager type="JDBC"></transactionManager>
<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="zhao"/>
<property name="password" value="123"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/maya/dao/TUserMapper.xml"/>
</mappers> </configuration>

此时,在TUserMapper.xml文件中,将resultType改一下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.maya.dao.TUserMapper"><!-- 一般的命名规则,包名开始,到对应的配置文件结束 --> <!-- <select id="List" resultType="com.maya.model.TUser" >--> <!-- 原来的的样式 -->
<!-- <select id="List" resultType="test" > --> <!-- 用别名的方式 -->
<select id="List" resultType="tUser"> <!-- 扫描的方式,命名规则:对应的类的名,首字母小写 -->
select * from t_user
</select>
</mapper>

经测试,依然可以执行

假设数据库中的列名与实体类中的数据类型对应不起来,那么需要在配置文件中加入如下代码

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.maya.dao.TUserMapper"> <!-- 需要加的部分 -->
<resultMap type="tUser" id="user">
<result property="username1" column="username" jdbcType="number" javaType="int"/>
<!--property是实体类中的属性,column是数据库中的字段 jdbctype 数据库中的字段类型 -->
</resultMap> <select id="List" resultType="tUser">
select * from t_user
</select>
</mapper>

增删改:

添加:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.maya.dao.TUserMapper"> <insert id="add" parameterType="TUser"> <!--传过来的实体类 -->
insert into t_user values(#{id},#{userName},#{password})<!--sql语句,里面对应着实体类的值,这里是#{} 不是el表达式 -->
</insert>
</mapper>

junit测试

    @Test
public void insert(){
TUser tu=new TUser();
tu.setId(1);
tu.setUserName("赵六");
tu.setPassword("123456");
int s=ss.insert("com.maya.dao.TUserMapper.add", tu);
System.out.println(s);
}

打印结果如下:

数据库中的结果如下

删除:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.maya.dao.TUserMapper">
<delete id="delete" parameterType="int">
delete t_user where id=#{id}
</delete>
</mapper>

junit测试:

    @Test
public void delete(){
int s=ss.insert("com.maya.dao.TUserMapper.delete", 1);
System.out.println(s);
}

数据库中id为1的数据已经没了

改:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.maya.dao.TUserMapper">
<update id="update" parameterType="tUser">
update t_user set username=#{userName},password=#{password} where id=#{id}
</update>
</mapper>

junit测试

    @Test
public void update(){
TUser tu=new TUser();
tu.setId(4);
tu.setUserName("赵六");
tu.setPassword("123456");
ss.update("com.maya.dao.TUserMapper.update", tu);
}

十分抱歉,最后这个应该是没错的,电脑上的数据库突然崩了,没法查看  但是我感觉应该是没有错了的

Mybatis 别名机制,自动扫描 数据的增删改的更多相关文章

  1. Mybatis 接口方式对数据的增删改查 一对一关联查询

    数据库中有两个表 student 和studentInfo student表中的字段和数据 studentInfo表中的字段 ok数据库说完了,开始建立一个项目,对数据库中的数据进行操作吧 新建jav ...

  2. Mybatis框架基于注解的方式,实对数据现增删改查

    编写Mybatis代码,与spring不一样,不需要导入插件,只需导入架包即可: 在lib下 导入mybatis架包:mybatis-3.1.1.jarmysql驱动架包:mysql-connecto ...

  3. Mybatis学习总结(二)—使用接口实现数据的增删改查

    在这一篇中,让我们使用接口来实现一个用户数据的增删改查. 完成后的项目结构如下图所示: 在这里,person代表了一个用户的实体类.在该类中,描述了相关的信息,包括id.name.age.id_num ...

  4. Mybatis实现数据的增删改查

    Mybatis实现数据的增删改查 1.项目结构(使用maven创建项目) 2.App.java package com.GetcharZp.MyBatisStudy; import java.io.I ...

  5. Mybatis实现简单的CRUD(增删改查)原理及实例分析

    Mybatis实现简单的CRUD(增删改查) 用到的数据库: CREATE DATABASE `mybatis`; USE `mybatis`; DROP TABLE IF EXISTS `user` ...

  6. python 全栈开发,Day62(外键的变种(三种关系),数据的增删改,单表查询,多表查询)

    一.外键的变种(三种关系) 本节重点: 如何找出两张表之间的关系 表的三种关系 一.介绍 因为有foreign key的约束,使得两张表形成了三种了关系: 多对一 多对多 一对一 二.重点理解如果找出 ...

  7. HDFS只支持文件append操作, 而依赖HDFS的HBase如何完成数据的增删改查

    转:http://www.th7.cn/db/nosql/201510/135382.shtml 1. HDFS的文件append功能 早期版本的HDFS不支持任何的文件更新操作,一旦一个文件创建.写 ...

  8. dbutils中实现数据的增删改查的方法,反射常用的方法,绝对路径的写法(杂记)

    jsp的三个指令为:page,include,taglib... 建立一个jsp文件,建立起绝对路径,使用时,其他jsp文件导入即可 导入方法:<%@ include file="/c ...

  9. MVC模式:实现数据库中数据的增删改查功能

    *.数据库连接池c3p0,连接mysql数据库: *.Jquery使用,删除时跳出框,确定是否要删除: *.使用EL和JSTL,简化在jsp页面中插入的java语言 1.连接数据库 (1)导入连接数据 ...

随机推荐

  1. bzoj3007 解救小云公主

    3007: 解救小云公主 Time Limit: 5 Sec  Memory Limit: 512 MB Submit: 159  Solved: 71 [id=3007" style=&q ...

  2. Spring Boot在aop中获取request对象

    doBefore(){ ServetRequestAttrbtes attributes = (ServetRequestAttrbtes)RequestContextHolder.getHttpat ...

  3. python数据之间的转换和关系

    首先数据类型在我看来分为两类: 容器类:能存储数据,例如:元祖.列表.集合.字符串. 原子类:单纯保存数值,例如:整数.浮点数.复数. 容器类与容器类之间,一般都可以进行两两之间的转化. 原子类与原子 ...

  4. 【LeetCode】【矩阵旋转】Rotate Image

    描述 You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwise ...

  5. 写python中的装饰器

    python中的装饰器主要用于在已有函数实现功能前附加需要输出的信息,下面将用实例展示我如何写装饰器. 首先分别尝试写装饰器装饰一个无参函数和一个有参函数(被装饰函数仅输出,无返回值情况下) def ...

  6. 【Head First Servlets and JSP】笔记17:JSP所生成的servlet相关问题

    1.容器根据你所写的JSP生成一个类, /* * Generated by the Jasper component of Apache Tomcat * Version: Apache Tomcat ...

  7. 九、搭建备份服务器 使用rsync服务

    简介 Rsync是开源快速.多功能,可以实现全量和增量的本地或者远程数据同步备份的优秀工具.增量备份效率更高,可以同步内容也可以同步属性 [root@backup-41 ~]# rpm -qa rsy ...

  8. VMware VIC

    vSphere Integrated Containers - a short intro High-Level view of VCH Networking vSphere Integrated C ...

  9. relativePath

    比如: com.tenace tenace 2.0.1 ../pom.xml //刚开始无此句 com.spider engine 2.6.0-SNAPSHOT tenace作为pom项目已经发布至r ...

  10. JAVA获取webapp路径

    1.使用ServletContext获取webapp目录 在Servlet中 String path = getServletContext().getRealPath("/"); ...