zoukankan      html  css  js  c++  java
  • Mybatis学习之注解

     配置文件mybatis-config.xml,注意mapper映射的是接口,不是SQL映射文件

    <?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>
    	<!-- 命名别名 -->
    	<typeAliases>
    		<typeAlias alias="Person" type="com.mybatis.bean.Person" />
    	</typeAliases>
    
    	<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://127.0.0.1:3306/test" />
    				<property name="username" value="root" />
    				<property name="password" value="root" />
    			</dataSource>
    		</environment>
    	</environments>
    	<mappers>
    		<mapper class="com.mybatis.inter.PersonDAO"/>
    	</mappers>
    </configuration>
    

      mapper接口,通过注解来定义SQL语句

    package com.mybatis.inter;
    
    import java.util.List;
    
    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 com.mybatis.bean.Person;
    
    public interface PersonDAO {
    
    	@Insert("insert into person(name,age) values(#{name},#{age})")
    	public void add(Person person);
    
    	@Delete("delete from person where id=#{id}")
    	public void delete(int id);
    
    	@Select("select * from person where id=#{id}")
    	public Person queryById(int id);
    
    	@Select("select * from person")
    	public List<Person> findAll();
    
    	@Update("update person set name=#{name},age=#{age} where id=#{id}")
    	public void update(Person person);
    
    }
    

      测试:

    package com.mybatis.test;
    
    import java.io.IOException;
    import java.util.List;
    
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    
    import com.mybatis.bean.Person;
    import com.mybatis.inter.PersonDAO;
    import com.mybatis.util.MybatisUtil;
    
    public class Test {
    
    	public static void main(String[] args) {
    		SqlSessionFactory factory=null;
    		SqlSession session=null;
    		try {
    			factory=MybatisUtil.getSqlSessionFactory();
    			session=factory.openSession();
    			PersonDAO personDAO = session.getMapper(PersonDAO.class);
    //			Person person=new Person();
    //			person.setName("zcs");
    //			person.setAge(25);
    //			personDAO.add(person);
    //			session.commit();
    			List<Person> persons = personDAO.findAll();
    			for(Person p:persons) {
    				System.err.println(p.getName() +" " +p.getAge());
    			}
    			
    		} catch (IOException e) {
    			e.printStackTrace();
    		}finally{
    			session.close();
    		}
    	}
    
    }
    

      

  • 相关阅读:
    程序模块化 与 单元测试
    【集美大学1411_助教博客】2017软件工程开跑啦。。。。
    沟通很重要
    参赛感言
    助教日志_期末总结
    助教日志_【沈阳航空航天大学软件工程 1,2班】期末排行
    [数据库事务与锁]详解一: 彻底理解数据库事务
    [数据库事务与锁]详解二: 数据库的读现象浅析
    [数据库事务与锁]详解三: 深入分析事务的隔离级别
    [数据库事务与锁]详解四: 数据库的锁机制
  • 原文地址:https://www.cnblogs.com/zcs201093189/p/4845528.html
Copyright © 2011-2022 走看看