parametertype

【java框架】MyBatis(1)—MyBatis入门

北城余情 提交于 2020-03-20 23:24:20
1. MyBatis认识 MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis可以使用简单的XML配置或注解来配置和映射原生信息,将接口和Java的POJO(Plain Ordinary Java Object,普通Java对象)映射成数据库中的数据。 2. 使用MyBatis完成基础的CRUD 2.1.导入对应MyBatis及数据库连接jar包 asm-3.3.1.jar cglib-2.2.2.jar commons-logging-1.1.1.jar javassist-3.17.1-GA.jar log4j-1.2.17.jar mybatis-3.2.1.jar mysql-connector-java-5.1.26-bin.jar slf4j-api-1.7.2.jar slf4j-log4j12-1.7.2.jar 2.2.建立数据库的表 2.3. 对应数据库表创建Domain类 public class Product { private Long id; private Long dir_id; // 商品分类编号 private String productName;// 商品名称 private String supplier; // 供应商 private String brand; // 品牌 private

springmvc中因xml文件中的sql语句编写的有问题,而引发的错误

人盡茶涼 提交于 2020-03-16 20:13:10
Null ModelAndView returned to DispatcherServlet with name 'springDispatcherServlet': assuming HandlerAdapter completed request handling 一开始以为是配置问题,经过查找各种文档和相关资料后。发现配置没有问题,因此只能在代码上找。因为select的返回值类型写错了,所以一直执行不成功。 一般来说,你的配置文件没有问题。访问也能访问到相对应的controller,但是响应一直不正确,而且控制台也并没有报错。这种情况下就要检查xml中写的sql语句了,在这里强调检查以下几点: 1、参数类型:parameterType是否和方法一致 2、返回值类型:resultType是否和方法一致 3、添加的if判断条件是否在输入参数中有相对应的属性 resultType=“Emp” < select id = "countAll" parameterType = "PageInfo" resultType = "Emp" > select count ( * ) from emp < where > < if test = "queryVal != null" > ename like concat ( '%' , # { queryVal } , '%' ) < /

一起学MyBatis之入门篇

落花浮王杯 提交于 2020-03-14 15:13:19
概述 本文以一个简单的小例子,简述在Java项目开发中MyBatis的基本用法,属于入门级文章,仅供学习分享使用,如有不足之处,还请指正。 什么是MyBatis? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 MyBatis环境的搭建 环境搭建步骤: 1. 新建一个Java Project,并引入需要的Jar包。 MyBatis需要的Jar包,共2个,如下所示: 1 //MyBatis包 2 mybatis-3.5.3.jar 3 //MySql数据库连接驱动包 4 mysql-connector-java-5.1.6.jar 2. 新增MyBatis配置文件 在src目录下,新增一个MyBatis的配置文件【mybatis-config.xml】,主要配置数据库连接相关环境信息和Mapper信息,具体内容如下: environments 节点配置数据库环境,可以有多个配置,default表示默认连接哪个环境。 mappers配置引入的映射文件,采用相对路径的方式。 1 <

mybatis中mapper.xml文件增删查改

橙三吉。 提交于 2020-03-10 05:54:29
1.mybatis工作原理 2.查询 <select id="方法名" parameterType="方法参数类型" resultType="方法返回值类型,全类名" > select 表中字段名 AS 结果字段名 from 表名 where 条件 <!--注意:结果字段名与属性名保持一致,区分大小写--> </select> 3.插入 <insert id="需要实现的接口里的方法名" parameterType="方法参数名,如果是对象,要写全类名"> insert into 表名 (字段1,字段2,...) values(#{参数1},#{参数2},...) <!--注意属性名区分大小写--> </insert> 4.修改 <update id="updateCustomer" parameterType="com.wang.po.Customer"> update t_customer set username=#{username},jobs=#{jobs} ,phone=#{phone} where id=#{id} </update> 5.删除 <delete id="deleteCustomer" parameterType="Integer"> delete from t_customer where id=#{id} </delete> 6

java.lang.NoClassDefFoundError: org/aptech/hdax/pojo/sysUser (wrong name: org/aptech/hdax/pojo/SysUs

半世苍凉 提交于 2020-03-03 11:12:50
使用generatorConfig.xml插件自动生成实体类时报的异常 原因:实体类名称不一致 结局方案:使用generatorConfig.xml会自动生成mapper映射文件,里面 resultType或parameterType参数类型有问题 来源: CSDN 作者: weixin_46277254 链接: https://blog.csdn.net/weixin_46277254/article/details/104626300

MyBatis 实践 -Mapper与DAO

╄→гoц情女王★ 提交于 2020-03-02 05:14:12
MyBatis 实践 标签: Java与存储 MyBatis简介 MyBatis 前身是 iBatis ,是一个基于Java的 数据持久层/对象关系映射(ORM)框架 . MyBatis是对JDBC的封装,使开发人员只需关注SQL本身,而不需花费过多的精力去处理如 注册驱动 、 设置参数 、 创建 Connection / Statement 、 解析结果集 等JDBC过程性代码.MyBatis基于XML/注解的方式配置 Statement ,执行SQL,并将执行结果映射成Java对象, 大大降低了数据库开发的难度. MyBatis is a first class persistence framework with support for custom SQL, stored procedures and advanced mappings. MyBatis eliminates almost all of the JDBC code and manual setting of parameters and retrieval of results. MyBatis can use simple XML or Annotations for configuration and map primitives, Map interfaces and Java POJOs

Spring+SpringMVC+MyBatis深入学习及搭建(四)——MyBatis输入映射与输出映射(转发同上)

社会主义新天地 提交于 2020-02-26 04:31:59
原地址:http://www.cnblogs.com/shanheyongmu/p/7121556.html 1. 输入映射 通过parameterType指定输入参数的类型,类型可以是简单类型、hashmap、pojo的包装类型。 1.1 #{}与${} #{}实现的是向prepareStatement中的预处理语句设置参数值,sql语句中#{}表示一个占位符即? <select id="findUserById" parameterType="int" resultType="user"> select * from user where id=#{id} </select> 使用占位符#{}可以有效防止sql注入,在使用时不需要关系参数值的类型,mybatis会自动进行java类型和jdbc类型的转换。#{}可以接收简单类型值或pojo属性值,如果parameterType传输单个类型值,#{}括号可以是value或其它名称。 ${}和#{}不同,通过${}可以将parameterType传入的内容拼接在sql中且不进行jdbc类型转换,${}可以接收简单类型值或pojo属性值,如果parameterType传输单个简单类型值,${}括号中只能是value。使用${}不能防止sql注入,但是有时用${}会非常方便,如下例子: <select id=

Mybatis配置映射文件中parameterType的用法小结

岁酱吖の 提交于 2020-02-26 04:24:24
原创: 在mybatis映射接口的配置中,有select,insert,update,delete等元素都提到了 parameterType的用法,parameterType为输入参数,在配置的时候,配置相应的 输入参数类型即可。parameterType有基本数据类型和复杂的数据类型配置。 1.基本数据类型,如输入参数只有一个,其数据类型可以是基本的数据类型,也可以是 自己定的类类型。包括int,String,Integer,Date,如下: (1)根据id进行相应的删除:<delete id="deleteById" parameterType="Integer"> (2)添加员工:<insert id="addEmp" parameterType="com.pojo.Employee"> 2.复杂数据类型:包含java实体类,map。 配置如: < select id= "selectTeacher" parameterType= "Map" resultType= "com.myapp.domain.Teacher" > select * from Teacher where c_id=#{id} and sex=#{sex} </ select > java代码如下: Map<String,String> map= new HasMap<String,String>();

Mybatis的输入映射和输出映射

孤者浪人 提交于 2020-02-26 04:23:45
一、输入映射   通过parameterType指定输入参数类型,类型可以是简单类型、HashMap、pojo的包装类型。   1、简单类型   映射文件: <!-- 查询sql语句配置使用select标签 id:该语句的唯一标识,通常称为statement的id parameterType:输入参数的类型 resultType:返回数据的类型,指定为Java的po类型,则将查询出来的单条记录映射为po对象。 --> <select id="findUserById" parameterType="int" resultType="com.jack.po.User" > <!-- 要执行的sql语句 #{} :表示一个占位符 #{value} :value表示接受的参数,名称为value,如果参数是简单类型,则名称可以随意起。 --> SELECT * FROM user WHERE id=#{value} </select>   接口文件: //根据id查询用户的接口 public User findUserById(int id) throws Exception;   测试文件: public void findUserById(){ //创建SqlSession对象 SqlSession sqlSession = sessionFactory.openSession();

MyBatis中foreach循环的用法

自闭症网瘾萝莉.ら 提交于 2020-02-23 17:26:02
一、在了解foreach之前,先了解一下mybatis传入参数及parameterType 1、我们在Dao层向对应的mapper.xml文件传递参数时,可以传递的参数有:   ①、基本数据类型(如int/Integer、long/Long、float等)   ②、简单引用数据类型(如String、User实体类对象等)   ③、集合数据类型(如List、Map等)   我们在parameterType属性获取参数类型时,只需要与传入的参数类型相同即可,如: ①基本数据类型:Java代码: 1 User findById(Integer id); ①基本数据类型:mapper.xml代码: 1 <select id="findById" parameterType="int" resultType="com.demo.entity.User"> 2 SELECT * FROM `user` where id=#{id}; 3 </select> ②简单引用类型:Java代码: 1 void addUser(User user); ②简单引用类型:mapper.xml代码: 1 <insert id="addUser" parameterType="com.demo.entity.User"> 2 insert into `user` values (null,#{userName}