mybatis(1)


<?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> <package name="com.beiluo.pojo"/> </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://localhost:3306/how2java?characterEncoding=utf-8"/> <property name="username" value="root"/> <property name="password" value="123"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/beiluo/pojo/Category.xml"/> <mapper resource="com/beiluo/pojo/Product.xml"/> </mappers> </configuration>

  

 

 

<?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">
    
    <mapper namespace="com.beiluo.pojo">
    	<select id="listCategory" resultType="Category">
    		select * from category_
    	</select>
    	
    	<insert id="addCategory" parameterType="Category">
    		insert into category_ ( name ) values (#{name})
    	</insert>
    	
    	<delete id="deleteCategory">
    		delete from category_ where id = #{id}
    	</delete>
    	
    	<select id="getCategory" parameterType="_int" resultType="Category">
    		select * from category_ where id = #{id}
    	</select>
    	
    	<update id="updateCategory" parameterType="Category">
    		update category_ set name=#{name} where id=#{id}
    	</update>
    	
    	<!-- 模糊查询 -->
    	<select id="listCategoryByName" parameterType="string" resultType="Category">
    		select * from category_ where name like concat('%',#{0},'%')
    	</select>
    	
    	<!-- 多条件查询 -->
    	<select id="listCategoryByIdAndName" parameterType="map" resultType="Category">
    		select * from category_ where id> #{id} and name like concat('%',#{name},'%') 
    	</select>
    	
    </mapper>
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  

 

package com.beiluo.test;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Scanner;

import javax.websocket.Session;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import com.beiluo.pojo.Category;



public class TestCRUD {
	 static TestCRUD  test =new TestCRUD();
	
	 Scanner input = new Scanner(System.in);
	public static void main(String[] args) throws IOException {
	
		while(true){
			int choice = test.showMenu();
			if(choice == 6){
				break;
			}
			test.chooseMenu(choice);
		}		
		
	}
	
	
	public int showMenu(){
		System.out.println("=========欢迎使用mybatis的CRUD操作=========");
		System.out.println("\t1.添加商品");
		System.out.println("\t2.修改商品");
		System.out.println("\t3.删除商品");
		System.out.println("\t4.查询商品");
		System.out.println("\t5.所有商品");
		System.out.println("\t6.退出系统");
		System.out.println("*********************");
		System.out.print("请选择菜单:");
		int choice = input.nextInt();
		return choice;
	}
	
	public boolean chooseMenu(int choice) throws IOException{
		String resource = "mybatis-config.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
		SqlSession session = sessionFactory.openSession();
		
		boolean result = true;
		String go_on = "Y";
		//判断用户的输入
		switch(choice){
		case 1:
			System.out.println("=========添加商品=========");
			while(go_on.equals("Y")){
				test.addCategory(session);
				System.out.println("是否继续?(y/n)");
				go_on = input.next();
				go_on = go_on.toUpperCase();
			}	
			break;
		case 2:
			System.out.println("=========修改商品=========");
			test.updaetCategory(session);
			break;
		case 3:
			System.out.println("=========删除商品=========");
			test.deleteCategory(session);
			break;
		case 4:
			System.out.println("=========查询单个商品==========");
		test.selectCategory(session);
			break;
		case 5:
			System.out.println("==========查找商品列表=========");
			listAll(session);
			break;
		case 6:
			System.out.println("退出系统,谢谢使用");
			result = false;
			break;
		default:
			System.out.println("你输入的有误!!!");
			break;	
		}
		
		session.commit();
		session.close();
		return result;
			
	}
	
	
	
	
	//增加
	public void addCategory(SqlSession session){
		Category c = new Category();
		System.out.println("输入Category的name");
		String name = input.next();
		c.setName(name);
		session.insert("addCategory",c);
		listAll(session);
	}

	//查看所有Category
	private static void listAll(SqlSession session){
		List<Category> cs =  session.selectList("listCategory");
		System.out.println("id\tname");
		for (Category c : cs) {
			
			System.out.println(c.getId()+"\t"+c.getName());
		}
		
	}
	
	public void deleteCategory(SqlSession session){
		System.out.println("输入要删除的id");
		Category c =new Category();
		int id = input.nextInt();
		c.setId(id);
		session.delete("deleteCategory",c);
		listAll(session);
	}

	public void selectCategory(SqlSession session){
		System.out.println("请输入要查找的编号");
		int id = input.nextInt();
		Category c =session.selectOne("getCategory", id);
		
	System.out.println("查找的记录为:"+c.getId()+"\t"+c.getName());
	}

	public void updaetCategory(SqlSession session){
		System.out.println("请输入要修改的编号");
		int id = input.nextInt();
		Category c =session.selectOne("getCategory", id);
		System.out.println("请输入要修改的名字");
		String name = input.next();
		c.setName(name);
		session.update("updateCategory",c);
		System.out.println("修改后的记录为:"+c.getId()+"\t"+c.getName());
//		listAll(session);
	}

	
}

  

posted @ 2019-04-09 09:37  我有满天星辰  阅读(155)  评论(0编辑  收藏  举报