maven
설치확인
mvn --version
프로젝트 생성
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
패키징
mvn package
패키징된 jar파일 실행
java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App
>> Hello, world
java 9 이후에서는 maven-compiler-plugin을 추가해줘야한다
<properties>
<maven.compiler.release>11</maven.compiler.release>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
</plugin>
</plugins>
</pluginManagement>
</build>
명령어 체이닝 가능
mvn clean compile test
Servlet
어노테이션
WAS 컨테이너가 어노테이션이 붙어있는지 확인하여 그에 맞는 일을 수행하는 것
어노테이션 자체가 일을 수행하는 것은 아니고 어노테이션을 누가 인식하느냐에 따라서 기능이 달라질 수 도 있다.
단점은 url이 클래스마다 달려있기 때문에 중복여부를 확인하기 어렵다.
xml은 문법적으로 깐깐하고 속도가 느린 단점으로 xml을 점점 배제하게 되면서 탄생한 것이 Spring boot
@WebServlet( value = {"/ex02.do","/ex02.bit"}, initParams = {@WebInitParam(name = "key2", value = "val2")} )
MongoDB
public class EmpDao {
com.mongodb.client.MongoClient client;
String URL = "mongodb://localhost:27018/";
String DBNAME= "lecture";
String COLNAME = "emp";
public void updateOne(EmpDto bean) {
client = MongoClients.create(URL);
MongoDatabase dbs = client.getDatabase(DBNAME);
MongoCollection<Document> col = dbs.getCollection(COLNAME);
Bson filter = Filters.eq("_id", bean.getId());
List<Bson> list = Arrays.asList(
Updates.set("ename", bean.getEname()),
Updates.set("ename", bean.getEname()),
Updates.set("sal", bean.getSal()),
Updates.set("job", bean.getJob()),
Updates.set("hiredate", bean.getHiredate())
);
col.updateOne(filter, list);
client.close();
}
public EmpDto selectOne(ObjectId _id) {
EmpDto bean = new EmpDto();
client = MongoClients.create(URL);
MongoDatabase dbs = client.getDatabase(DBNAME);
MongoCollection<Document> col = dbs.getCollection(COLNAME);
// Bson filter = new Document("_id", _id);
// eq(=) lt(<) gt(>)
Bson filter = Filters.eq("_id", _id);
FindIterable<Document> ite = col.find(filter);
Document doc = ite.first();
bean.setId(doc.getObjectId("_id"));
bean.setEmpno(doc.getInteger("empno"));
bean.setEname(doc.getString("ename"));
bean.setHiredate(doc.getDate("hiredate"));
bean.setJob(doc.getString("job"));
bean.setSal(doc.getInteger("sal"));
client.close();
System.out.println(bean);
return bean;
}
public void insertOne(EmpDto bean) {
client = MongoClients.create("mongodb://localhost:27018/");
MongoDatabase dbs = client.getDatabase("lecture");
MongoCollection<Document> col = dbs.getCollection("emp");
Document doc = new Document();
doc.append("empno", bean.getEmpno());
doc.append("ename", bean.getEname());
doc.append("hiredate", bean.getHiredate());
doc.append("job", bean.getJob());
doc.append("sal", bean.getSal());
col.insertOne(doc);
client.close();
}
public List<EmpDto> selectAll(){
List<EmpDto> list = new ArrayList<EmpDto>();
String url = "localhost";
int port = 27018;
MongoClient client = new MongoClient(new ServerAddress(url,port));
MongoDatabase db = client.getDatabase("lecture");
MongoCollection<Document> docs = db.getCollection("emp");
FindIterable<Document> rs = docs.find();
MongoCursor<Document> ite = rs.iterator();
while(ite.hasNext()) {
Document doc = ite.next();
EmpDto bean = new EmpDto();
bean.setId(doc.getObjectId("_id"));
bean.setEmpno(doc.getInteger("empno"));
bean.setEname(doc.getString("ename"));
bean.setJob(doc.getString("job"));
bean.setSal(doc.getInteger("sal"));
bean.setHiredate(doc.getDate("hiredate"));
list.add(bean);
}
System.out.println(list);
client.close();
return list;
}
}
'회고록(TIL&WIL)' 카테고리의 다른 글
TIL 2023.02.17 Java web 7(miniProject, H2, maven) (0) | 2023.02.17 |
---|---|
TIL 2023.02.16 Java Web 6 (maven, Junit, CP) (0) | 2023.02.16 |
TIL 2023.02.14 Java Web 5 (SPA, libs, CORS, web.xml, modal) (0) | 2023.02.14 |
TIL 2023.02.13 Java Web 4 (MVC model2, maven) (0) | 2023.02.13 |
TIL 2023.02.09 jQuery3 Servlet (0) | 2023.02.09 |