My Batis

2023. 12. 19. 11:24Daily Codig Reminder

JDBC_MyBatis_Ver_3

import com.dto.Dept;
import com.service.OracleMyBatisService;

public class OralceMyBatisMain {

	public static void main(String[] args) {
//		SqlSession sess = MySqlSessionFactory.getSqlSession();
//		System.out.println(sess);
		OracleMyBatisService service = new OracleMyBatisService();
//		int num = service.update(new Dept(99, "영업","서울"));
//		System.out.println("update 갯수 : "+num);
		Dept dept = service.selectByDeptno(99);
		System.out.println(dept);

	}

}
package com.service;

import java.util.List;

import org.apache.ibatis.session.SqlSession;

import com.config.MySqlSessionFactory;
import com.dao.OracleMyBatisDAO;
import com.dto.Dept;

public class OracleMyBatisService {
	OracleMyBatisDAO dao;
	
	public OracleMyBatisService() {
		super();
		
		dao= new OracleMyBatisDAO();
	}
	
	public int insert (Dept dept) {
		SqlSession session = MySqlSessionFactory.getSqlSession();
		int num=0;
		try {
			num= dao.insert(session, dept);
			session.commit();
		} finally {
			session.close();
		}return num;
	}
		public int update (Dept dept) {
			SqlSession session = MySqlSessionFactory.getSqlSession();
			int num=0;
			try {
				num= dao.update(session, dept);
				session.commit();
			} finally {
				session.close();
			}return num;
	}
		public Dept selectByDeptno (int deptno) {
			SqlSession session = MySqlSessionFactory.getSqlSession();
			Dept dept =null;
			try {
				 dept= dao.selectByDeptno(session, deptno);
				session.commit();
			} finally {
				session.close();
			}return dept;
	}


	public List<Dept> selectAll(){
		SqlSession session = MySqlSessionFactory.getSqlSession();
		List<Dept> list = null;
		try {
			list = dao.selectAll(session);
		} finally {
			session.close();
		}return list;
	}
	
	


}
package com.dao;

import java.util.List;

import org.apache.ibatis.session.SqlSession;

import com.dto.Dept;

public class OracleMyBatisDAO {
	public List<Dept> selectAll(SqlSession session){
		List<Dept> list = session.selectList("selectAll");//mapper id지점 mapper sql 사용
		System.out.println("in dao : "+ list);
		return list;
	}
	public int insert (SqlSession session, Dept dept) {
		int num = session.insert("deptInsert", dept);
		System.out.println("추가된 레코드 ========="+num);
		return num;
	}
	
	public int update (SqlSession session, Dept dept) {
		int num = session.update("deptUpdate", dept);
		System.out.println("업데이트 갯수 ========="+num);
		return num;
	}
	public Dept selectByDeptno (SqlSession session, int deptno) {
		Dept dept = session.selectOne("selectByDeptno", deptno);
		
		return dept;
	}

}
<?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="org.mybatis.example.BlogMapper">
	
	<insert id="deptInsert" parameterType="com.dto.Dept" >
		insert into dept values ( #{deptno}, #{dname},#{loc})
	</insert>
<select id = "selectAll" resultType ="com.dto.Dept">
	select deptno, dname, loc from dept
</select>

<select id = "selectByDeptno" parameterType="int" resultType ="com.dto.Dept">
	select deptno, dname, loc from dept where deptno =#{deptno}
</select>

<update id="deptUpdate" parameterType="com.dto.Dept">
	update dept set dname= #{dname}, loc= #{loc} where deptno= #{deptno}
</update>
</mapper>

JDBC_MyBatis_Ver_5

 

import java.util.List;

import com.dto.Dept;
import com.service.OracleMyBatisService;

public class OralceMyBatisMain {

	public static void main(String[] args) {

		OracleMyBatisService service = new OracleMyBatisService();	
		service.insert(new Dept(99,"aa","서울"));
		List<Dept> list = service.selectAll();
		for (Dept dept : list) {
			System.out.println(dept);
		}
	}

}
import java.util.List;

import com.dto.Dept;
import com.service.OracleMyBatisService;

public class OralceMyBatisMain2 {

	public static void main(String[] args) {

		OracleMyBatisService service = new OracleMyBatisService();	
		int num = service.deptRecordCount();
		System.out.println("레코드 갯수는 num==="+num);
		List<Dept> list = service.selectAll();
		for (Dept dept : list) {
			System.out.println(dept);
		}
	}

}
package com.dao;

import java.util.List;

import org.apache.ibatis.session.SqlSession;

import com.dto.Dept;

public class OracleMyBatisDAO {
	public List<Dept> selectAll(SqlSession session){
		List<Dept> list = session.selectList("com.dept.DeptMapper2.selectAll");//mapper id지점 mapper sql 사용
		System.out.println("in dao : "+ list);
		return list;
	}
	public int insert (SqlSession session, Dept dept) {
		int num = session.insert("com.dept.DeptMapper.deptInsert", dept);
		System.out.println("추가된 레코드 ========="+num);
		return num;
	}
	
	public int deptRecordCount(SqlSession session) {
		int num = session.selectOne("com.dept.DeptMapper2.deptRecordCount");
		return num;
	}

}
package com.service;

import java.util.List;

import org.apache.ibatis.session.SqlSession;

import com.config.MySqlSessionFactory;
import com.dao.OracleMyBatisDAO;
import com.dto.Dept;

public class OracleMyBatisService {

OracleMyBatisDAO dao;
	
	public OracleMyBatisService() {
		super();
		
		dao= new OracleMyBatisDAO();
	}
	public List<Dept> selectAll(){
		SqlSession session = MySqlSessionFactory.getSqlSession();
		List<Dept> list = null;
		try {
			list = dao.selectAll(session);
		} finally {
			session.close();
		}return list;
	}
	public int insert (Dept dept) {
		SqlSession session = MySqlSessionFactory.getSqlSession();
		int num=0;
		try {
			num= dao.insert(session, dept);
			session.commit();
		} finally {
			session.close();
		}return num;
	}
	
	public int deptRecordCount () {
		SqlSession session = MySqlSessionFactory.getSqlSession();
		int num=0;
		try {
			num= dao.deptRecordCount(session);
			session.commit();
		} finally {
			session.close();
		}return num;
	}
	
}
<?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.dept.DeptMapper2">
<select id = "selectAll" resultType ="com.dto.Dept">
	select deptno, dname, loc from dept
	order by 1
</select>
<select id = "deptRecordCount" resultType ="int">
	select count(*) from dept
</select>

</mapper>

 

 

JDBC_MyBatis_Ver_6

 

import java.util.HashMap;
import java.util.List;

import com.dto.Dept;
import com.service.OracleMyBatisService;

public class OralceMyBatisMain3 {

	public static void main(String[] args) {
		
		OracleMyBatisService service = new OracleMyBatisService();	
		HashMap<String, Integer> map =  new HashMap<>();
		map.put("key1", 20);
		map.put("key2", 30);
		List <Dept> list = service.selectByHashMap(map);
		for (Dept dept : list) {
			System.out.println(dept);
		}
	}

}
package com.dao;

import java.util.HashMap;
import java.util.List;

import org.apache.ibatis.session.SqlSession;

import com.dto.Dept;

public class OracleMyBatisDAO {
	public List<Dept> selectAll(SqlSession session){
		List<Dept> list = session.selectList("com.dept.DeptMapper2.selectAll");//mapper id지점 mapper sql 사용
		System.out.println("in dao : "+ list);
		return list;
	}

	public int deptRecordCount(SqlSession session) {
		int num = session.selectOne("selectByDeptno");
		return num;
	}
	public HashMap selectByDeptnoHashMap(SqlSession session, int deptno) {
		HashMap  map = session.selectOne("selectByDeptnoHashMap", deptno);
		return map;
	}

	public List<Dept> selectByHashMap(SqlSession session, HashMap<String, Integer> map) {
		List<Dept> list = session.selectList("selectByHashMap", map);
		return list;
	}

}
package com.service;

import java.util.HashMap;
import java.util.List;

import org.apache.ibatis.session.SqlSession;

import com.config.MySqlSessionFactory;
import com.dao.OracleMyBatisDAO;
import com.dto.Dept;

public class OracleMyBatisService {

OracleMyBatisDAO dao;
	
	public OracleMyBatisService() {
		super();
		
		dao= new OracleMyBatisDAO();
	}
	public List<Dept> selectAll(){
		SqlSession session = MySqlSessionFactory.getSqlSession();
		List<Dept> list = null;
		try {
			list = dao.selectAll(session);
		} finally {
			session.close();
		}return list;
	}
	
	public int deptRecordCount () {
		SqlSession session = MySqlSessionFactory.getSqlSession();
		int num=0;
		try {
			num= dao.deptRecordCount(session);
			session.commit();
		} finally {
			session.close();
		}return num;
	}
	public HashMap selectByDeptnoHashMap(int deptno) {
		SqlSession session = MySqlSessionFactory.getSqlSession();
		HashMap map =null;
		try {
			map= dao.selectByDeptnoHashMap(session, deptno);
			session.commit();
		} finally {
			session.close();
		}return map;
	}
	public List<Dept> selectByHashMap(HashMap<String, Integer> map) {
		SqlSession session = MySqlSessionFactory.getSqlSession();
		List<Dept> list = null;
		try {
			list = dao.selectByHashMap(session, map);
		} finally {
			session.close();
		}return list;
	}

	
	
}
<?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"/>
	 <typeAliases >
	<typeAlias type="com.dto.Dept" alias = "Dept"></typeAlias>
		</typeAliases>
	
		
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <!-- db 연결 4가지 정보  -->
      <dataSource type="POOLED">
        <property name="driver" value="${oracle.jdbc}"/>
        <property name="url" value="${oracle.url}"/>
        <property name="username" value="${oracle.userid}"/>
        <property name="password" value="${oracle.passwd}"/>
      </dataSource>
    </environment>
  </environments>
  <!-- Mapper.xml의 경로 등록 (Mapper.xml파일이 존재해야함 )-->
  <mappers>
    <mapper resource="DeptMapper.xml"/>
    <mapper resource="DeptMapper2.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.dept.DeptMapper2">
    <select id="selectAll" resultType="Dept">
        select deptno, dname, loc from dept order by 1
    </select>
    <select id="deptRecordCount" resultType="int">
        select deptno, dname, loc from dept order by 1
    </select>
    <select id="selectByDeptHashmap" resultType="hashmap" parameterType="int">
        select * from dept where deptno=#{deptno}
    </select>
    <select id="selectByHashMap" parameterType="hashmap" resultType="Dept">
        select deptno, dname, loc from dept where deptno between #{key1} and #{key2}
    </select>

</mapper>

 

 

 

JDBC_MyBatis_Ver_7

 

import java.util.HashMap;
import java.util.List;

import com.dto.Dept;
import com.service.OracleMyBatisService;

public class OralceMyBatisMain4 {

	public static void main(String[] args) {
		
		OracleMyBatisService service = new OracleMyBatisService();	
		int deptno =10;
		HashMap<String, Integer> map =  new HashMap<String, Integer>();
//		map.put("key1", 20);
		map.put("deptno", deptno);
		List <Dept> list = service.selectDynamicDeptno(map);
		for (Dept dept : list) {
			System.out.println(dept);
		}
	}

}
import java.util.HashMap;
import java.util.List;

import com.dto.Dept;
import com.service.OracleMyBatisService;

public class OralceMyBatisMain3 {

	public static void main(String[] args) {
		
		OracleMyBatisService service = new OracleMyBatisService();	
		HashMap<String, Integer> map =  new HashMap<>();
		map.put("key1", 20);
		map.put("key2", 30);
		List <Dept> list = service.selectByHashMap(map);
		for (Dept dept : list) {
			System.out.println(dept);
		}
	}
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Set;

import javax.annotation.processing.SupportedSourceVersion;

import com.dto.Dept;
import com.service.OracleMyBatisService;

public class OralceMyBatisMain4_1 {

	public static void main(String[] args) {
		
		OracleMyBatisService service = new OracleMyBatisService();	
		
		List<HashMap> list = service.selectAllHashmap();
		System.out.println(list);
//		List<Dept> list = service.selectAll();
//		for (Dept dept : list) {
//			System.out.println(dept);
//		}
		
//		System.out.println();
//		for (HashMap hash : list) {
//            Set<String> keys = hash.keySet();
//            for (String s : keys) {
//                System.out.print(s+" "+hash.get(s));
//            }
//            System.out.println("\n----------------");
//            
//            for (HashMap dept : list) {
//				BigDecimal dno = (BigDecimal)dept.get("DEPTNO");
//				int deptno = dno.intValue();
//				String dname = (String)dept.get("DNAME");
//				String loc = (String)dept.get("LOC");
//				System.out.println(deptno+"\t"+dname+"\t"+loc);
//			}
//            System.out.println("=======================");
            
            for (HashMap dept : list) {
				Set<String> keys = dept.keySet();
				

				int deptno =0;
				String dname="";
				String loc ="";
				for (String key : keys) {
					if (key.equals("DEPTNO")) {
						deptno = ((BigDecimal)dept.get(key)).intValue();
					}
					if (key.equals("DNAME")) {
						dname = (String)dept.get(key);
					}
					if (key.equals("LOC")) {
						loc = (String)dept.get(key);
					}
					
				}Dept ndept = new Dept (deptno, dname, loc);
				System.out.println(ndept);
				System.out.println("----------------------------------");
			}
        }
		
	}
package com.dao;

import java.util.HashMap;
import java.util.List;

import org.apache.ibatis.session.SqlSession;

import com.dto.Dept;

public class OracleMyBatisDAO {
//	public List<Dept> selectAll(SqlSession session){
//		List<Dept> list = session.selectList("com.dept.DeptMapper2.selectAll");//mapper id지점 mapper sql 사용
//		System.out.println("in dao : "+ list);
//		return list;
//	}

	public int deptRecordCount(SqlSession session) {
		int num = session.selectOne("selectByDeptno");
		return num;
	}
	public HashMap selectByDeptnoHashMap(SqlSession session, int deptno) {
		HashMap  map = session.selectOne("selectByDeptnoHashMap", deptno);
		return map;
	}

	public List<Dept> selectByHashMap(SqlSession session, HashMap<String, Integer> map) {
		List<Dept> list = session.selectList("selectByHashMap", map);
		return list;
	}
	
	public List<Dept> selectDynamicDeptno(SqlSession session, HashMap<String, Integer> map) {
		System.out.println(map.get("deptno"));
		List<Dept> list = session.selectList("com.dept.DeptMapper2.selectDynamicDeptno", map);
		return list;
	}

	public List<HashMap> selectAllHashmap(SqlSession session) {
		List<HashMap> list = session.selectList("com.dept.DeptMapper2.selectAll2");//mapper id지점 mapper sql 사용
		return list;
	}

}
package com.service;

import java.util.HashMap;
import java.util.List;

import org.apache.ibatis.session.SqlSession;

import com.config.MySqlSessionFactory;
import com.dao.OracleMyBatisDAO;
import com.dto.Dept;

public class OracleMyBatisService {

OracleMyBatisDAO dao;
	
	public OracleMyBatisService() {
		super();
		
		dao= new OracleMyBatisDAO();
	}
//	public List<Dept> selectAll(){
//		SqlSession session = MySqlSessionFactory.getSqlSession();
//		List<Dept> list = null;
//		try {
//			list = dao.selectAll(session);
//		} finally {
//			session.close();
//		}return list;
//	}
	
	
	public List<HashMap> selectAllHashmap(){
		SqlSession session = MySqlSessionFactory.getSqlSession();
		List<HashMap> list = null;
		try {
			list = dao.selectAllHashmap(session);
		} finally {
			session.close();
		}return list;
	}

	public HashMap selectByDeptnoHashMap(int deptno) {
		SqlSession session = MySqlSessionFactory.getSqlSession();
		HashMap map =null;
		try {
			map= dao.selectByDeptnoHashMap(session, deptno);
			session.commit();
		} finally {
			session.close();
		}return map;
	}
	public List<Dept> selectByHashMap(HashMap<String, Integer> map) {
		SqlSession session = MySqlSessionFactory.getSqlSession();
		List<Dept> list = null;
		try {
			list = dao.selectByHashMap(session, map);
		} finally {
			session.close();
		}return list;
	}
	public List<Dept> selectDynamicDeptno(HashMap<String, Integer> map) {
		SqlSession session = MySqlSessionFactory.getSqlSession();
		List<Dept> list = null;
		try {
			list = dao.selectDynamicDeptno(session, map);
		} finally {
			session.close();
		}return list;
	}

	
	
}
<?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"/>
	 <typeAliases >
	<typeAlias type="com.dto.Dept" alias = "Dept"></typeAlias>
		</typeAliases>
	
		
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <!-- db 연결 4가지 정보  -->
      <dataSource type="POOLED">
        <property name="driver" value="${oracle.jdbc}"/>
        <property name="url" value="${oracle.url}"/>
        <property name="username" value="${oracle.userid}"/>
        <property name="password" value="${oracle.passwd}"/> <!-- value 틀린경우-->
      </dataSource>
    </environment>
  </environments>
  <!-- Mapper.xml의 경로 등록 (Mapper.xml파일이 존재해야함 )-->
  <mappers>
    <mapper resource="DeptMapper.xml"/>
    <mapper resource="DeptMapper2.xml"/> <!-- mapper 등록안한경우-->
  </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.dept.DeptMapper2">
    <select id="selectAll" resultType="Dept">
        select deptno, dname, loc from dept order by 1
    </select>
    <select id="deptRecordCount" resultType="int">
        select deptno, dname, loc from dept order by 1
    </select>
    <select id="selectByDeptHashmap" resultType="hashmap" parameterType="int">
        select * from dept where deptno=#{deptno}
    </select>
    <select id="selectByHashMap" parameterType="hashmap" resultType="Dept">
        select deptno, dname, loc from dept where deptno between #{key1} and #{key2}
    </select>
    
    <select id="selectDynamicDeptno" parameterType="hashmap" resultType="Dept">
		select deptno, dname, loc
		from dept
		<if test="deptno != null">
			where deptno= #{deptno}
			</if>
	</select>
    <select id="selectAll2" resultType="hashmap">
        select deptno, dname, loc from dept order by 1
    </select>
</mapper>

 

 

 

'Daily Codig Reminder' 카테고리의 다른 글

javascript  (0) 2023.12.24
My batis2  (1) 2023.12.23
JDBC 2  (0) 2023.12.19
JDBC  (0) 2023.12.14
자바 IO  (0) 2023.12.14