您的位置:首页 > 编程语言 > Java开发

mybatis实现增删改查xml配置和后端Java编程完整教程

2018-01-14 22:02 447 查看

mybatis实现增删改查xml配置和后端编程教程

SqlMapConfig.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">
<!-- 使用jdbc事务管理 -->
<transactionManager type="JDBC"/>
<!-- 数据库连接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="011220"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="sqlmap/user.xml"/>
</mappers>
</configuration>


user.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="test">
<!-- 根据用户id查询用户信息 -->
<select id="findUserById" parameterType="int" resultType="cn.nwtxxb.mybatis.po.User">
select * from user where id = #{id}
</select>
<!-- 根据用户名查询用户信息 -->
<select id="findUserByUserName" parameterType="java.lang.String" resultType="cn.nwtxxb.mybatis.po.User">
select * from user where username like '%${value}%'
</select>
<!-- 添加用户 -->
<insert id="insertUser" parameterType="cn.nwtxxb.mybatis.po.User">
<!-- selectKey将主键返回 -->
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
select LAST_INSERT_ID()
</selectKey>
insert into user (username,birthday,sex,address) values (#{username},#{birthday},#{sex},#{address})
</insert>
<!-- 删除用户 -->
<delete id="deleteUserById" parameterType="int">
delete from user where id=#{id}
</delete>
</mapper>


User.java

package cn.nwtxxb.mybatis.po;

import java.util.Date;

public class User {
private int id;
private String username;
private String sex;
private Date birthday;
private String address;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", sex=" + sex + ", birthday=" + birthday + ", address="
+ address + "]";
}

}


测试类代码:

package cn.nwtxxb.mybatis.test;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
import org.apache.ibat
e47d
is.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import cn.nwtxxb.mybatis.po.User;
public class Mybatis_first {
//会话工厂
private SqlSessionFactory sqlSessionFactory;
@Before
public void createSqlSessionFactory() throws Exception{
//配置文件
String resource = "SqlMapConfig.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
//使用SqlSessionFactoryBuilder从xml配置文件中创建SqlSessionFactory
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
}
//根据id查询用户信息
@Test
public void testFindUserById(){
//数据库会话实例
SqlSession sqlSession = null;
try {
//创建数据库会话实例sqlSession
sqlSession = sqlSessionFactory.openSession();
//查询单个记录,根据用户id查询用户信息
User user = sqlSession.selectOne("test.findUserById",10);
//输出用户信息
System.out.println(user);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(sqlSession!=null){
sqlSession.close();
}
}
}
//根据用户名查询用户信息
@Test
public void testFindUserByUsername(){
//数据库会话实例
SqlSession sqlSession = null;
try {
//创建数据库会话实例sqlSession
sqlSession = sqlSessionFactory.openSession();
//根据用户名中包含"张"的条件查询用户信息
List<User> list = sqlSession.selectList("test.findUserByUserName","张");
System.out.println(list.size());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(sqlSession!=null){
sqlSession.close();
}
}
}
//添加用户信息
@Test
public void testInsert(){
//数据库会话实例
SqlSession sqlSession = null;
try {
//创建数据库会话实例sqlSession
sqlSession = sqlSessionFactory.openSession();
//添加用户信息
User user = new User();
user.setUsername("张磊");
user.setSex("1");
user.setAddress("襄城");
user.setBirthday(new Date());
sqlSession.insert("test.insertUser",user);
//提交事务
sqlSession.commit();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(sqlSession!=null){
sqlSession.close();
}
}
}
//删除用户
@Test
public void testDelete(){
//数据库会话实例
SqlSession sqlSession = null;
try {
//创建数据库会话实例sqlSession
sqlSession = sqlSessionFactory.openSession();
sqlSession.delete("test.deleteUserById",26);
sqlSession.commit();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(sqlSession!=null){
sqlSession.close();
}
}
}
}


login4j.properties

# Global logging configuration
log4j.rootLogger=DEBUG,stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mybatis