项目结构
mybatisMapprt.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="com.rr.tt.mybatis.v1.dao">
<select id="selectAll" resultType="com.rr.tt.mybatis.v1.entity.User">
select * from t_user
</select>
<insert id="insert" parameterType="com.rr.tt.mybatis.v1.entity.User">
insert into t_user values (default ,#{name},#{pwd},#{birthday},#{age})
</insert>
<delete id="delete" parameterType="com.rr.tt.mybatis.v1.entity.User">
delete from t_user where id=#{id}
</delete>
<update id="update" parameterType="com.rr.tt.mybatis.v1.entity.User">
update t_user set name=#{name} where name=#{id}
</update>
</mapper>
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>
<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/cdxx?useUnicode=true&characterEncoding=utf8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mapper\mybatisMapprt.xml"/>
</mappers>
</configuration>
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>
<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/cdxx?useUnicode=true&characterEncoding=utf8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<!--<mapper resource="mapper\mybatisMapprt.xml"/>-->
<mapper class="com.rr.tt.mybatis.v1.dao.UserDao"/>
</mappers>
</configuration>
MybatisUtil
package com.rr.tt.mybatis.v1;
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 java.io.IOException;
import java.io.InputStream;
/**
* @author rongbaba
*/
public class MybatisUtil {
private static SqlSessionFactory sqlSessionFactory;
static {
String resource="mybatis-config.xml";
InputStream inputStream=null;
try{
inputStream= Resources.getResourceAsStream(resource);
sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession();
}
}
User
package com.rr.tt.mybatis.v1.entity;
import java.util.Date;
public class User {
private int id;
private String name;
private String pwd;
private Date birthday;
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", pwd='" + pwd + '\'' +
", birthday=" + birthday +
", age=" + age +
'}';
}
private int age;
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
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;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
UserDao
package com.rr.tt.mybatis.v1.dao;
import com.rr.tt.mybatis.v1.entity.User;
import java.util.List;
public interface UserDao {
int insert(User user);
List<User> selectALL();
int delete(User user);
int update(User user);
}
UserDao(注解版)
package com.rr.tt.mybatis.v1.dao;
import com.rr.tt.mybatis.v1.entity.User;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
public interface UserDao {
@Insert("insert into t_user values (default ,#{name},#{pwd},#{birthday},#{age})")
int insert(User user);
@Select("select * from t_user")
List<User> selectALL();
@Delete("delete from t_user where id=#{id}")
int delete(User user);
@Update("update t_user set name=#{name} where name=#{id}")
int update(User user);
}
UserDaoImpl
package com.rr.tt.mybatis.v1.dao.impl;
import com.rr.tt.mybatis.v1.MybatisUtil;
import com.rr.tt.mybatis.v1.dao.UserDao;
import com.rr.tt.mybatis.v1.entity.User;
import org.apache.ibatis.session.SqlSession;
import java.util.List;
public class UserDaoImpl implements UserDao {
@Override
public int insert(User user) {
SqlSession sqlSession=null;
try{
sqlSession= MybatisUtil.getSqlSession();
int ret=sqlSession.insert("com.rr.tt.mybatis.v1.dao.insert",user);
sqlSession.commit();
return ret;
}catch (Exception e){
if (sqlSession!=null)
{
sqlSession.rollback();
}
e.printStackTrace();
}
finally {
if (sqlSession!=null){
sqlSession.close();
}
}
return 0;
}
@Override
public List<User> selectALL() {
SqlSession sqlSession=null;
try{
sqlSession= MybatisUtil.getSqlSession();
List<User> ret=sqlSession.selectList("com.rr.tt.mybatis.v1.dao.selectAll");
return ret;
}catch (Exception e){
e.printStackTrace();
}
finally {
if (sqlSession!=null){
sqlSession.close();
}
}
return null;
}
@Override
public int delete(User user) {
SqlSession sqlSession=null;
try{
sqlSession= MybatisUtil.getSqlSession();
int ret=sqlSession.insert("com.rr.tt.mybatis.v1.dao.delete",user);
sqlSession.commit();
return ret;
}catch (Exception e){
if (sqlSession!=null)
{
sqlSession.rollback();
}
e.printStackTrace();
}
finally {
if (sqlSession!=null){
sqlSession.close();
}
}
return 0;
}
@Override
public int update(User user) {
SqlSession sqlSession=null;
try{
sqlSession= MybatisUtil.getSqlSession();
int ret=sqlSession.insert("com.rr.tt.mybatis.v1.dao.update",user);
sqlSession.commit();
return ret;
}catch (Exception e){
if (sqlSession!=null)
{
sqlSession.rollback();
}
e.printStackTrace();
}
finally {
if (sqlSession!=null){
sqlSession.close();
}
}
return 0;
}
}
UserDaoImpl(注解版)
package com.rr.tt.mybatis.v1.dao.impl;
import com.rr.tt.mybatis.v1.dao.UserDao;
import com.rr.tt.mybatis.v1.entity.User;
import com.rr.tt.mybatis.v1.util.MybatisUtil;
import org.apache.ibatis.session.SqlSession;
import java.util.List;
public class UserDaoImpl implements UserDao{
@Override
public int insert(User user) {
SqlSession sqlSession=null;
try{
sqlSession= MybatisUtil.getSqlSession();
// int ret=sqlSession.insert("com.rr.tt.mybatis.v1.dao.insert",user);
int ret=sqlSession.getMapper(UserDao.class).insert(user);
sqlSession.commit();
return ret;
}catch (Exception e){
if (sqlSession!=null)
{
sqlSession.rollback();
}
e.printStackTrace();
}
finally {
if (sqlSession!=null){
sqlSession.close();
}
}
return 0;
}
@Override
public List<User> selectALL() {
SqlSession sqlSession=null;
try{
sqlSession= MybatisUtil.getSqlSession();
// List<User> ret=sqlSession.selectList("com.rr.tt.mybatis.v1.dao.selectALL");
List<User> ret=sqlSession.getMapper(UserDao.class).selectALL();
return ret;
}catch (Exception e){
e.printStackTrace();
}
finally {
if (sqlSession!=null){
sqlSession.close();
}
}
return null;
}
@Override
public int delete(User user) {
SqlSession sqlSession=null;
try{
sqlSession= MybatisUtil.getSqlSession();
// int ret=sqlSession.insert("com.rr.tt.mybatis.v1.dao.delete",user);
int ret=sqlSession.getMapper(UserDao.class).delete(user);
sqlSession.commit();
return ret;
}catch (Exception e){
if (sqlSession!=null)
{
sqlSession.rollback();
}
e.printStackTrace();
}
finally {
if (sqlSession!=null){
sqlSession.close();
}
}
return 0;
}
@Override
public int update(User user) {
SqlSession sqlSession=null;
try{
sqlSession= MybatisUtil.getSqlSession();
// int ret=sqlSession.insert("com.rr.tt.mybatis.v1.dao.update",user);
int ret=sqlSession.getMapper(UserDao.class).update(user);
sqlSession.commit();
return ret;
}catch (Exception e){
if (sqlSession!=null)
{
sqlSession.rollback();
}
e.printStackTrace();
}
finally {
if (sqlSession!=null){
sqlSession.close();
}
}
return 0;
}
}
TestSelect
package com.rr.tt.mybatis.v1.test;
import com.rr.tt.mybatis.v1.dao.impl.UserDaoImpl;
import com.rr.tt.mybatis.v1.entity.User;
import java.util.List;
public class TestSelect {
public static void main(String[] args) {
List<User> list=new UserDaoImpl().selectALL();
for (User user:list
) {
System.out.println(user);
}
}
}
TestInsert
package com.rr.tt.mybatis.v1.test;
import com.rr.tt.mybatis.v1.dao.UserDao;
import com.rr.tt.mybatis.v1.dao.impl.UserDaoImpl;
import com.rr.tt.mybatis.v1.entity.User;
public class TestInsert {
public static void main(String[] args) {
UserDao userDao=new UserDaoImpl();
User user=new User();
user.setName("bdsaai");
user.setAge(18);
int ret=userDao.insert(user);
System.out.println(ret);
}
}
TestDelete
package com.rr.tt.mybatis.v1.test;
import com.rr.tt.mybatis.v1.dao.UserDao;
import com.rr.tt.mybatis.v1.dao.impl.UserDaoImpl;
import com.rr.tt.mybatis.v1.entity.User;
public class TestDelete {
public static void main(String[] args) {
UserDao userDao=new UserDaoImpl();
User user=new User();
user.setId(1);
int ret=userDao.delete(user);
System.out.println(ret);
}
}
TestUpdate
package com.rr.tt.mybatis.v1.test;
import com.rr.tt.mybatis.v1.dao.UserDao;
import com.rr.tt.mybatis.v1.dao.impl.UserDaoImpl;
import com.rr.tt.mybatis.v1.entity.User;
public class TestUpdate {
public static void main(String[] args) {
UserDao userDao=new UserDaoImpl();
User user=new User();
user.setName("niu");
int ret=userDao.update(user);
System.out.println(ret);
}
}