MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
在使用前要导入一下东西方便之后使用
练习时用的部分代码
Usermapper
<?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.bdqn.dao.Userdao">
<!-- <select id="selectCount" resultType="int">
select count(1) from user
</select> -->
<select id="selectUser" resultType="com.bdqn.entity.User" >
select * from user
</select>
<!-- //模糊查询 -->
<select id="selectByUname" resultType="com.bdqn.entity.User" parameterType="String">
select * from user where uname like concat ('%',#{uname},'%')
<!-- //connat必须加 -->
</select>
<delete id="deleteUser" parameterType="int">
delete from user where uid=#{uid}
</delete>
<update id="updateUser" parameterType="com.bdqn.entity.User">
update user set uname=#{uname},upwd=#{upwd} where uid=#{uid}
</update>
<insert id="addUser" parameterType="com.bdqn.entity.User">
insert into user(uname,pwd) values {#{uname},#{upwd}}
</insert>
</mapper>
text
package com.bdqn.text;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.bdqn.dao.Userdao;
import com.bdqn.entity.User;
import com.bdqn.utils.SqlSessionUtils;
public class Text {
public static void main(String[] args) {
InputStream is=null;
SqlSession session =null;
try {
/*//删除
session =SqlSessionUtils.getSqlSession();
int count =session.getMapper(Userdao.class).deleteUser(1);
session.commit();
System.out.println(count);*/
/* //添加
session =SqlSessionUtils.getSqlSession();
User user=new User();
user.setUid(6);
user.setUname("ggsimida");
user.setUpwd("404");
int count =session.getMapper(Userdao.class).addUser(user);
session.commit();
System.out.println(count);*/
/*//查询
session =SqlSessionUtils.getSqlSession();
List<User> list =session.getMapper(Userdao.class).selectUser();
for(User user:list ){
System.out.println(user.toString());
}*/
/*
is=Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
SqlSession session = factory.openSession();
int count=session.insert("com.bdqn.dao.UserMapper.xml");
System.out.println(count);*/
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
/*//事物回滚
session.rollback();*/
}finally{
try {
if (is !=null) {
is.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
utils
package com.bdqn.utils;
import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class SqlSessionUtils {
private static SqlSessionFactory sqlSessionFactory;
static{
try {
InputStream is =Resources.getResourceAsStream("mybatis-config.xml");
sqlSessionFactory=new SqlSessionFactoryBuilder().build(is);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static SqlSession getSqlSession(){
SqlSession sqlSession =sqlSessionFactory.openSession(false);
return sqlSession;
}
public void closeSession(SqlSession sqlSession){
if (sqlSession !=null) {
sqlSession.close();
}
}
}
写的不是很好不懂欢迎私聊..