搭建MyBatis框架:
a:导入相关的jar包
b:编写核心配置文件(与配置数据库相关的信息以及映射文件)
c:编写dao操作
d:编写mapper配置文件
e:编写实体类
crud实现内容:
crud操作放在dao层
package dao;
import org.apache.ibatis.session.SqlSession;
import util.MyBatisUtil;
import entity.User;
public class UserDao {
public User getById(int id) throws Exception
{
SqlSession session =MyBatisUtil.getSession();
User user=session.selectOne("entity.userMapper.selectUser",id);
session.close();
return user;
}
public User getByPwd(String pwd) throws Exception
{
SqlSession session =MyBatisUtil.getSession();
User user=session.selectOne("entity.userMapper.selectUserPwd","11");
session.close();
return user;
}
public int add(User user) throws Exception
{
SqlSession session =MyBatisUtil.getSession();
int result=session.insert("entity.userMapper.addUser",user);
//提交事务
session.commit();
session.close();
return result;
}
public int update(User user) throws Exception
{
SqlSession session =MyBatisUtil.getSession();
int result=session.update("entity.userMapper.updateUser",user);
//提交事务
session.commit();
session.close();
return result;
}
public int delete(int id) throws Exception
{
SqlSession session =MyBatisUtil.getSession();
int result=session.delete("entity.userMapper.deleteUser",id);
session.commit();
session.close();
return result;
}
}
User:
package entity;
public class User {
private int id;
private String name;
private String pwd;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
userMapper.xml
<?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="entity.userMapper">
<select id="selectUser" resultType="entity.User">
select * from user where
id=#{id}
</select>
<!-- resultType返回值结果类型 -->
<!-- <insert id="addUser" resultType="int"> -->
<!-- 提交参数类型:paramterType="entity.User" -->
<insert id="addUser" parameterType="entity.User">
<!-- name,pwd一定是传进来参数的属性 -->
insert into user(name,pwd,id) values(#{name},#{pwd},#{id});
</insert>
<select id="selectUserPwd" resultType="entity.User">
select * from user where
pwd=#{pwd}
</select>
<update id="updateUser" parameterType="entity.User">
update user set name=#{name},pwd=#{pwd} where id=#{id}
</update>
<delete id="deleteUser" >
delete from user where id=#{id}
</delete>
</mapper>
测试类:
package test;
import org.apache.ibatis.session.SqlSession;
import util.MyBatisUtil;
import dao.UserDao;
import entity.User;
public class test {
public static void main(String[] args) throws Exception {
SqlSession session = MyBatisUtil.getSession();
User user = session.selectOne("entity.userMapper.selectUser", "2");
System.out.println("id=" + user.getId() + " ,name=" + user.getName()+ " ,pwd=" + user.getPwd());
//User user2 = session.selectOne("entity.userMapper.selectUser", "1");
//System.out.println("id=" + user2.getId() + " ,name=" + user2.getName()+ " ,pwd=" + user2.getPwd());
UserDao userDao=new UserDao();
User user2=userDao.getById(1);
System.out.println(user2.getPwd());
user2.setPwd("2222");
System.out.println(userDao.update(user2));
System.out.println(user2.getPwd());
System.out.println(userDao.delete(13));
session.close();
}
}
MyBatis配置:
<?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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test" />
<property name="username" value="root" />
<property name="password" value="admin" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="entity/userMapper.xml"/>
</mappers>
</configuration>
结果: