mybatis配置

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.Driver
database.url=jdbc:mysql://127.0.0.1:3306/myssm?useUnicode=true&amp;characterEncoding=utf-8
database.username=root
database.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();
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值