Mybatis 初识

mybatis跟hibernate一样,是持久层方面的,简单点就是数据库连接

mybatis-config.xml : 引入资源文件。然后配置环境,mybatis可以有多个环境,环境配置事务管理、jdbc,datasource

<configuration>
	
	<!--  <typeAliases>
		<package name="com.cai.model"/>
	</typeAliases>-->
	
	<properties resource="jdbc.properties">
	</properties>
	<environments default="development">
		<environment id="development">
		<transactionManager type="JDBC"></transactionManager>
		<dataSource type="POOLED">
		<property name="driver" value="${jdbc.driverClassName}"/>
		<property name="url" value="${jdbc.url}" />
		<property name="username" value="${jdbc.username}" />
		<property name="password" value="${jdbc.password}" />
		
		</dataSource>
		</environment>
	</environments>
	<mappers>
	<package name="com.cai.mapper"/>
	</mappers>
	
</configuration>

mybatisUtil:建立sessionFactory,再open,获取sqlSeesion

public class MybatisUtils {

    private static SqlSessionFactory sessionFactory;
    
    public static SqlSessionFactory getSessionFactory() throws Exception{
        InputStream inputStream= Resources.getResourceAsStream("mybatis-config.xml");
        sessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
        return sessionFactory;
    }
    
    public static SqlSession openSqlSession() throws Exception{
        return getSessionFactory().openSession();
    }
}
mapper文件:对应接口的方法。

<mapper namespace="com.cai.mapper.StudentMapper">
  <resultMap type="com.cai.model.Student" id="studentResult">
	<id  property="id" column="id"/>
	<result property="username" column="username"/>
	<result property="password" column="password"/>
</resultMap>

<insert id="add" parameterType="com.cai.model.Student">
	insert into student values(null,#{username},#{password})
</insert>

 <update id="update" parameterType="com.cai.model.Student">
	update student set username=#{username} ,password=#{password} where id=#{id}
</update>

<delete id="delete" parameterType="com.cai.model.Student">
	delete from student where id=#{id}
</delete>

 <select id="findById" parameterType="com.cai.model.Student" resultMap="studentResult">
	select * from student where id=#{id}
</select>  

 <select id="select" parameterType="com.cai.model.Student" resultMap="studentResult">
	select * from student
</select>  




</mapper>


test文件:

  @Test
    public void add() throws Exception{
        Logger logger=Logger.getLogger(test.class);
        SqlSession session=MybatisUtils.openSqlSession();
        StudentMapper studentMapper = session.getMapper(StudentMapper.class);
        int result=  studentMapper.add(new Student( "cai1", "123"));
        if(result==1) logger.info("添加成功");
        session.commit();
    }
    @Test
    public void delete() throws Exception{
        Logger logger=Logger.getLogger(test.class);
        SqlSession session=MybatisUtils.openSqlSession();
        StudentMapper studentMapper = session.getMapper(StudentMapper.class);
        int result=  studentMapper.delete(new Student(2));
        if(result==1) logger.info("添加成功");
        session.commit();
    }
    @Test
    public void update() throws Exception{
        Logger logger=Logger.getLogger(test.class);
        SqlSession session=MybatisUtils.openSqlSession();
        StudentMapper studentMapper = session.getMapper(StudentMapper.class);
        int result=  studentMapper.update(new Student(4,"caica222i","123"));
        if(result==1) logger.info("添加成功");
        session.commit();
    }
    @Test
    public void findById() throws Exception{
        Logger logger=Logger.getLogger(test.class);
        SqlSession session=MybatisUtils.openSqlSession();
        StudentMapper studentMapper = session.getMapper(StudentMapper.class);
        List<Student> studentList =  studentMapper.findById(new Student(5));
        logger.info("添加成功");
        System.out.println(studentList);
        session.commit();
    }
    @Test
    public void select() throws Exception{
        Logger logger=Logger.getLogger(test.class);
        SqlSession session=MybatisUtils.openSqlSession();
        StudentMapper studentMapper = session.getMapper(StudentMapper.class);
        List<Student> studentList =  studentMapper.select();
        logger.info("添加成功");
        System.out.println(studentList);
        session.commit();
    }

接口:

public interface StudentMapper {

    public int add(Student student);
    public int delete(Student Student);
    public int update(Student student);
    public List<Student> select();
    public List<Student> findById(Student student);
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值