首先:重新定的实体类
cn.javabs.entity.op.UserDao
package cn.javabs.entity;
import java.util.Date;
/**
* 持久化类
* */
public class User {
private Integer userId;
private String userName;
private String userAddress;
private String Usersex;
private Date userBirthday;
// 按键盘 alt + inster 生成getter方法和setter方法
@Override public String toString() {
return "User{" +
"userId=" + userId +
", userName='" + userName + '\'' +
", userAddress='" + userAddress + '\'' +
", Usersex='" + Usersex + '\'' +
", userBirthday=" + userBirthday +
'}';
}
public Integer getUserId() { return userId; }
public void setUserId(Integer userId)
{ this.userId = userId; }
public String getUserName() { return userName;}
public void setUserName(String userName)
{ this.userName = userName;}
public String getUserAddress() { return userAddress;}
public void setUserAddress(String userAddress)
{ this.userAddress = userAddress; }
public String getUsersex() { return Usersex; }
public void setUsersex(String usersex)
{ Usersex = usersex;}
public Date getUserBirthday() { return userBirthday; }
public void setUserBirthday(Date userBirthday)
{this.userBirthday = userBirthday;}
}
同时定义了个集合的id,如果查非常多的id,就需要像
cn.javabs.Queryvo
package cn.javabs.entity;
import java.util.List;
public class Queryvo {
private List<Integer> ids;// 可能有很多id
public List<Integer> getIds(){ return ids;}
public void setIds(List<Integer> ids)
{ this.ids = id; }
@Override
public String toString() {
return "Queryvo{" +
"ids=" + ids +
'}';
}
}
放在一个集合里好方便查找,快速,提高效率
cn.javabs.dao.UserDao
`<?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">
<!-- namespace 表示命名空间 -->
<mapper namespace="cn.javabs.dao.UserDao">
<!-- 配置:查询结果的字段名称与实体中书名名 的对应关系-->
<resultMap id="userMap" type="user">
<!-- 1.主键字段的对应-->
<id property="userId" column="id"/>
<!-- 2.非主键(普通)字段的对应 -->
<result property="userName" column="username"/>
<!-- <result property="userSex" column="sex"/>-->
<result property="userAddress" column="address"/>
<!-- <result property="Usersex" column="sex"/>-->
<result property="userAddress" column="address"/>
<result property="userBirthday" column="bitthday"/>
</resultMap>
<!-- SQL语句 -->
<!-- 全部查询-->
<select id="findAllUser" resultType="user">
select * from user
</select>
<!-- 添加-->
<insert id="add" parameterType="user">
<!--
keyProperty 是持久化类的编号 对应的是 user 类的id
keyColumn 是数据库中的字段名称 对应user 表的id
resultType 是 返回结果 因为返回是编号 因此int
erder 是 在插入语句之前before还是 ofter
-->
<selectKey keyProperty="id" keyColumn="id" resultType="user" order="AFTER">
select LAST_INSERT_ID();
</selectKey>
insert into user (username, address,sex,birthday)
values (#{username},#{ address},#{sex},#{birthday})
</insert>
<!-- 寻找很多的ids-->
<select id="findUserIds" parameterType="Queryvo" resultMap="userMap">
select * from user
<where>
<if test="ids != null and ids.size()>0" >
<foreach collection="ids" item="uid" open="and t_id in(" close=")" separator=",">
#{uid}
</foreach>
</if>
</where>
</select>
<!-- 批量删除 -->
<delete id="delUserBYIds" parameterType="Queryvo">
delete from user
<where>
<if test="ids != null and ids.size()>0">
<foreach collection="ids" open="and id in (" close= ")" separator="," item="id">
#{id}
</foreach>
</if>
</where>
</delete>
</mapper>`
resource-cn.java.properties文件
java.driver=com.mysql.jdbc.Driver
java.url=jdbc:mysql://localhost:3306/mybatis
java.username=root
java.password=root`
resources-mybatis-config.xml 文件
<?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>
<!-- 1.读取数据库信息-->
<properties resource="jdbc.properties"/><!-- 类型别名-->
<typeAliases>
<!-- typeAlias 配置别名 只对这个类配置了-->
<!-- <typeAlias type="cn.javabs.entity.User">-->
<!--
<typeAliastype="cn.javabs.entity.User"> </typeAlias>
-->
<!--对entity包下的所有类配置-->
<package name="cn.javabs.entity"/>
</typeAliases>
<!-- 1.配置环境,默认的环境id为mysql -->
<environments default="mysql">
<!-- 1.2.配置id为mysql的数据库环境 -->
<environment id="mysql">
<!-- 使用JDBC的事务管理 -->
<transactionManager type="JDBC"/>
<!-- 配置数据库连接信息(数据库连接池) -->
<dataSource type="POOLED">
<!-- 数据库驱动-->
<property name="driver" value="${java.driver}"/>
<!-- 连接数据库-->
<property name="url" value="${java.url}"/>
<!-- 数据库的账户名称-->
<property name="username" value="${java.username}"/>
<!-- 数据库的密码-->
<property name="password" value="${java.password}"/>
</dataSource>
</environment>
</environments>
<!-- 2.配置Mapper的位置 -->
<mappers>
<!-- cn.javabs.dao 自动加载所有映射文件 有点问题-->
<!-- <package name="mapper/*"/>-->
<mapper resource="mapper\UserDao.xml"/
</mappers>
</configuration>