ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 49일 차 MyBatis 만든 것 자료
    삼성SDS_멀티캠퍼스/MyBatis 2015. 11. 17. 14:08
    반응형


    MyBatis01_Ex.zip



    empdeptsample.sql



    필요하신분은 잘 쓰시길 바랍니다.


    우선 empdeptsample.sql을 다운받고 (저는 C드라이브에 넣어놨습니다)


    source C:\empdeptsample.sql를


    mysql Cmd에 입력합니다.


    여기서 C:\는 경로이므로 자신의 위치에 따라 얼마든지 달라질 수 있습니다.


    그리고 zip파일을 이클립스에서 임포트 시킨 후 사용하시면 됩니다.










    <pom.xml>


    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>MyBatis01_Ex</groupId>

    <artifactId>MyBatis01_Ex</artifactId>

    <version>0.0.1-SNAPSHOT</version>


    <properties>

    <myBatis_version>3.3.0</myBatis_version>

    <mysql_version>5.1.35</mysql_version>

    </properties>


    <build>

    <sourceDirectory>src</sourceDirectory>

    <plugins>

    <plugin>

    <artifactId>maven-compiler-plugin</artifactId>

    <version>3.3</version>

    <configuration>

    <source>1.7</source>

    <target>1.7</target>

    </configuration>

    </plugin>

    </plugins>

    </build>

    <dependencies>


    <dependency>

    <groupId>org.mybatis</groupId>

    <artifactId>mybatis</artifactId>

    <version>${myBatis_version}</version>

    </dependency>

    <dependency>

    <groupId>mysql</groupId>

    <artifactId>mysql-connector-java</artifactId>

    <version>${mysql_version}</version>

    </dependency>



    </dependencies>

    </project>











    <configuration.xml>

    <?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 type="model.Emp" alias="emp" />

    </typeAliases>


    <environments default="development">

    <environment id="development">

    <transactionManager type="MANAGED"></transactionManager>

    <dataSource type="UNPOOLED">

    <property name="driver" value="com.mysql.jdbc.Driver" />

    <property name="url" value="jdbc:mysql://localhost:3306/sds2" />

    <property name="username" value="root" />

    <property name="password" value="mysql" />

    </dataSource>

    </environment>

    </environments>


    <mappers>

    <mapper resource="dao/mapper/EmpMapper.xml" />

    </mappers>


    </configuration>












    <Emp.java> 

    package model;


    import java.util.Date;


    public class Emp {

    private int empno;

    private String ename;

    private String job;

    private int mgr;

    private Date hiredate;

    private double sal;

    private double comm;

    private int deptno;


    public int getEmpno() {

    return empno;

    }


    public void setEmpno(int empno) {

    this.empno = empno;

    }


    public String getEname() {

    return ename;

    }


    public void setEname(String ename) {

    this.ename = ename;

    }


    public String getJob() {

    return job;

    }


    public void setJob(String job) {

    this.job = job;

    }


    public int getMgr() {

    return mgr;

    }


    public void setMgr(int mgr) {

    this.mgr = mgr;

    }


    public Date getHiredate() {

    return hiredate;

    }


    public void setHiredate(Date hiredate) {

    this.hiredate = hiredate;

    }


    public double getSal() {

    return sal;

    }


    public void setSal(double sal) {

    this.sal = sal;

    }


    public double getComm() {

    return comm;

    }


    public void setComm(double comm) {

    this.comm = comm;

    }


    public int getDeptno() {

    return deptno;

    }


    public void setDeptno(int deptno) {

    this.deptno = deptno;

    }


    @Override

    public String toString() {

    return "Emp [empno=" + empno + ", ename=" + ename + ", job=" + job + ", mgr=" + mgr + ", hiredate=" + hiredate

    + ", sal=" + sal + ", comm=" + comm + ", deptno=" + deptno + "]";

    }


    }






    <EmpDao.java>

    package dao;


    import java.io.IOException;

    import java.io.InputStream;

    import java.util.List;


    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 model.Emp;


    public class EmpDao {


    private static EmpDao instance;

    private SqlSessionFactory sqlSessionFactory;

    private static final String NAMESPACE = "dao.mapper.EmpMapper.";

    private EmpDao() {

    try {

    InputStream inputStream = Resources.getResourceAsStream("configuration.xml");

    sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

    } catch (IOException e) {

    System.out.println("session 빌드 실패");

    }

    }


    public static EmpDao getInstance() {

    if (instance == null)

    instance = new EmpDao();

    return instance;

    }


    public int insertEmp(Emp emp) {

    SqlSession session = sqlSessionFactory.openSession();

    try {

    return session.insert(NAMESPACE + "insertEmp", emp);

    } finally {

    session.close();

    }

    }


    public int updateEmp(Emp emp) {

    SqlSession session = sqlSessionFactory.openSession();

    try {

    return session.update(NAMESPACE + "updateEmp", emp);

    } finally {

    session.close();

    }

    }


    public int deleteEmp(int empno) {

    SqlSession session = sqlSessionFactory.openSession();


    try {

    return session.delete(NAMESPACE + "deleteEmp", empno);

    } finally {

    session.close();

    }

    }


    public Emp selectOne(int empno) {

    SqlSession session = sqlSessionFactory.openSession();


    try {

    return session.selectOne(NAMESPACE + "selectOne", empno);

    } finally {

    session.close();

    }

    }


    public List<Emp> selectAll() {

    SqlSession session = sqlSessionFactory.openSession();


    try {

    return session.selectList(NAMESPACE + "selectAll");

    } finally {

    session.close();

    }

    }

    }





    <EmpMapper.xml>

    <?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="dao.mapper.EmpMapper">

    <insert id="insertEmp" parameterType="emp">

    insert into emp values(

    #{empno}, #{ename}, #{job}, #{mgr}, #{hiredate}, #{sal}, #{comm},

    #{deptno} )

    </insert>


    <update id="updateEmp" parameterType="emp">

    update emp set ename =

    #{ename}, job = #{job}, mgr=#{mgr}, sal = #{sal}, comm=#{comm},

    deptno=#{deptno} where empno= #{empno}

    </update>


    <delete id="deleteEmp" parameterType="int">

    delete from emp where

    empno

    = #{ empno }

    </delete>


    <select id="selectOne" parameterType="int" resultType="emp">

    select *

    from emp where empno = #{ empno }

    </select>


    <select id="selectAll" resultType="emp">

    select * from emp

    </select>


    </mapper>




    실행시키는 클래스들은 너무 뻔하기 때문에


    따로 적지는 않았습니다만, 전체조회만 예시로 올립니다.








    필요하신 분들은 zip파일 여시면 실행시키는 클래스들 까지 있으니 사용하시면 됩니다.


    반응형
Designed by Tistory.