mybatis配置

来源:互联网 发布:历史股价数据 编辑:程序博客网 时间:2024/06/13 08:44

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>    <properties resource="jdbc.properties" />    <settings>        <setting name="lazyLoadingEnabled" value="true" />        <setting name="aggressiveLazyLoading" value="false" />    </settings>    <!--设置别名-->    <typeAliases>        <typeAlias alias="UserInfo" type="com.ldu.po.UserInfo" />    </typeAliases>    <!--配置数据库信息-->    <environments default="development">        <environment id="mysql">            <transactionManager type="JDBC" />            <dataSource type="POOLED">                <property name="driver" value="${database.driver}" />                <property name="url" value="${database.url}" />                <property name="username" value="${database.username}" />                <property name="password" value="${database.password}" />            </dataSource>        </environment>    </environments>    <mappers>        <mapper resource="com/ldu/mapper/userinfo.xml" />    </mappers></configuration>

jdbc.properties

database.driver=com.mysql.jdbc.Driverdatabase.url=jdbc:mysql://127.0.0.1:3306/myssm?useUnicode=true&amp;characterEncoding=utf-8database.username=rootdatabase.password=123456

userinfo.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">  <!--将数据库中的字段和po类中的属性映射--><mapper namespace="com.ldu.mapper.UserInfoMapper">    <!--UserInfo为po类,前面设置了别名-->    <resultMap type="UserInfo" id="userMap">        <id property="id" column="user_id"></id>        <result property="userName" column="user_name"></result>        <result property="sex" column="user_sex"></result>    </resultMap>    <!--查询所有 -->    <!-- <select id="selectUser" resultMap="userMap">        select * from user_info    </select> -->    <!--条件查询 -->    <select id="selectUser" parameterType="UserInfo" resultMap="userMap">        select * from user_info where 1=1        <if test="id!=null">            and user_id = #{id}        </if>    </select>    <!--添加数据 -->    <insert id="insertUser" parameterType="UserInfo">        insert into user_info        (user_name,user_sex) values(#{userName},#{sex})    </insert>    <!--修改数据 -->    <update id="updateUser" parameterType="UserInfo">        update user_info set        user_name=#{userName},user_sex=#{sex} where user_id=#{id}    </update>    <!--删除数据 -->    <delete id="deleteUser" parameterType="Integer">        delete from user_info        where user_id=#{id}    </delete>

UserInfoMapper.java

//Mapper接口public interface UserInfoMapper {    public List<UserInfo> selectUser(UserInfo user);    public int insertUser(UserInfo user);    public int updateUser(UserInfo user);    public int deleteUser(int id);}

DBFactory.java
产生sqlSession的类

public class DBFactory {    private static  SqlSessionFactory sqlSessionFactory=null;    static{        try {            String resource="mybatis-config.xml";            InputStream inputStream=Resources.getResourceAsStream(resource);            sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream,"mysql");        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }    public static SqlSessionFactory getSqlSessionFactory(){        return sqlSessionFactory;    }    public static SqlSession getSqlSession(){        return sqlSessionFactory.openSession();    }}

测试

public class UserInfoTest {    SqlSession session=null;    UserInfoMapper mapper=null;    @Before    public void beforeTest(){        session=DBFactory.getSqlSession();        mapper=session.getMapper(UserInfoMapper.class);    }    @After    public void afterTest(){        session.close();    }    @Test    public void selectList(){        UserInfo fuser=new UserInfo();        fuser.setId(7);        List<UserInfo> list = mapper.selectUser(null);        for(UserInfo u:list){            System.out.println(u);        }    }    @Test    public void addUser(){        UserInfo iuser=new UserInfo();        iuser.setUserName("羽");        iuser.setSex("男");        try {            int count =mapper.insertUser(iuser);            if(count>0){                session.commit();                System.out.println("插入成功");            }        } catch (Exception e) {            e.printStackTrace();            session.rollback();        }    }    @Test     public void updateUser(){        UserInfo uuser=new UserInfo();        uuser.setId(6);        uuser.setUserName("叶");        uuser.setSex("男");        try {            int count=mapper.updateUser(uuser);            if(count>0){                session.commit();                System.out.println("修改成功");            }        } catch (Exception e) {            e.printStackTrace();            session.rollback();        }    }    @Test    public void delUser(){        int id=6;        try {            int count =mapper.deleteUser(id);            if(count>0){                session.commit();                System.out.println("删除成功");            }        } catch (Exception e) {            session.rollback();            e.printStackTrace();        }    }}
原创粉丝点击