目录
一、总括项目
1.在enty下面的是实体类,私有类型,跟数据库字段联系,并有get/set类型+toString
2.实体类建好去mapper下面的xml写数据库语句,resultType(出参类型)parameterType(入参类型)
3.数据库连接的xml不需要改动
4.写接口层dao层
5.写测试类,运行
二、项目的增删改查
查询
UserMapper.xml
<select id="findByName" resultType="com.qcby.enty.User" parameterType="java.lang.String">
select * from user where username = #{username}
</select>
UserDao.java
/**
* 通过用户名查询
* @param username
* @return
*/
User findByName(String username);
MyBatisTest.java
@Test
public void findByName(){
mapper.findByName("熊大");
}
插入
注:插入是没有出参的
UserMapper.xml
<insert id="insert" parameterType="com.qcby.enty.User">
insert into user(username,birthday,sex,address) values (#{username},#{birthday},#{sex},#{address})
</insert>
UserDao.java
/**
* 插入
* @param user
* @return
*/
int insert(User user);
MyBatisTest.java
@Test
public void insert(){
User user =new User();
user.setAddress("保定");
Date data = new Date();
user.setBirthday(data);
user.setSex("男");
user.setUsername("张老三");
int count =mapper.insert(user);
session.commit();
System.out.println(count);
}
删除
UserMapper.xml
<delete id="delect" parameterType="java.lang.Integer">
delete from user where id = #{id}
</delete>
UserDao.java
/**
* 删除
* @param id
* @return
*/
int delect(Integer id);
MyBatisTest.java
@Test
public void delete(){
int count = mapper.delect(4);
session.commit();
System.out.println(count);
}
更改
UserMapper.xml
<update id="update" parameterType="com.qcby.enty.User">
update user set username =#{username}, birthday =#{birthday},sec = #{sex},address=#{address}
</update>
UserDao.java
/**
* 更改
* @param user
* @return
*/
int update(User user);
MyBatisTest.java
@Test
public void update(){
User user =new User();
user.setAddress("保定");
Date data = new Date();
user.setBirthday(data);
user.setSex("男");
user.setUsername("张老三");
user.setId(7);
int count =mapper.insert(user);
session.commit();
System.out.println(count);
}
三、 MyBatis参数详解
1. parameterType
1. 简单数据类型
int double类型 String类型
简单的写法:java.lang.Integer –> int integer Int Integer 都可以,框架提供简写的方式。
2. POJO(JavaBean实体类)对象类型,默认是不能简写,可以配置。
User对象
2. resultType
1. 返回简单数据类型
int double long String
2. 返回POJO数据类型
返回User对象类型
3. resultMap结果类型
resultType可以指定pojo将查询结果映射为pojo,但需要pojo的属性名和sql查询的列名一致方可映射成功。
如果sql查询字段名和pojo的属性名不一致,可以通过resultMap将字段名和属性名作一个对应关系 ,
resultMap实质上还需要将查询结果映射到pojo对象中。 resultMap可以实现将查询结果映射为复杂类型的
pojo,比如在查询结果映射对象中包括pojo和list实现一对一查询和一对多查询。
四、配置简单易懂的sql输出日志
注意:要在配置文件的第一行进行配置
<!-- settings:控制mybatis的全局行为-->
<settings>
<!--设置mybatis输出日志-->
<!--logImpl:表示对日志的控制-->
<!--STDOUT_LOGGING:将日志输出到控制台上-->
<setting name="logImpl" value="STDOUT_LOGGING" />
</settings>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/115388.html