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();
    		}
    	}
    
    }
    

      

  • 相关阅读:
    方法名的string类型应用(补)
    unity3D里面的点乘和叉乘
    C# 计算时间日期
    iOS设备屏幕分辨率分布
    免证书发布ipa文件真机测试
    unity3D +php +数据库
    windows下mysql5.1忘记root密码解决方法[win7]
    springboot配置多数据源(JdbcTemplate方式)
    【转】Google Chrome中顺时针/逆时针滚动圆的含义
    Redis内存模型(2):存储细节
  • 原文地址:https://www.cnblogs.com/zcs201093189/p/4845528.html
Copyright © 2011-2022 走看看